build integrity_checker.c only if --enable-integrity-test set
authorMartin Willi <martin@strongswan.org>
Fri, 19 Jun 2009 15:37:08 +0000 (17:37 +0200)
committerMartin Willi <martin@strongswan.org>
Mon, 22 Jun 2009 13:47:17 +0000 (15:47 +0200)
src/libstrongswan/Makefile.am
src/libstrongswan/library.c

index d190f35..7f27b8b 100644 (file)
@@ -7,7 +7,6 @@ debug.c debug.h \
 enum.c enum.h \
 settings.h settings.c \
 printf_hook.c printf_hook.h \
-integrity_checker.c integrity_checker.h \
 asn1/asn1.c asn1/asn1.h \
 asn1/asn1_parser.c asn1/asn1_parser.h \
 asn1/oid.c asn1/oid.h \
@@ -68,6 +67,12 @@ if USE_LOCK_PROFILER
   AM_CFLAGS += -DLOCK_PROFILER
 endif
 
+if USE_INTEGRITY_TEST
+  AM_CFLAGS += -DINTEGRITY_TEST
+  libstrongswan_la_SOURCES += \
+    integrity_checker.c integrity_checker.h
+endif
+
 if USE_VSTR
   libstrongswan_la_LIBADD += -lvstr
 endif
index 0116b8e..832c8b6 100644 (file)
@@ -131,12 +131,17 @@ bool library_init(char *settings)
        if (lib->settings->get_bool(lib->settings,
                                                                "libstrongswan.integrity_test", FALSE))
        {
+#ifdef INTEGRITY_TEST
                this->public.integrity = integrity_checker_create(CHECKSUM_LIBRARY);
                if (!lib->integrity->check(lib->integrity, "libstrongswan", library_init))
                {
                        DBG1("integrity check of libstrongswan failed");
                        return FALSE;
                }
+#else /* !INTEGRITY_TEST */
+               DBG1("integrity test enabled, but not supported");
+               return FALSE;
+#endif /* INTEGRITY_TEST */
        }
        return TRUE;
 }