src/Makefile.am: build static lib for unit tests if enabled
authorKamil Dudka <kdudka@redhat.com>
Fri, 3 May 2013 21:03:58 +0000 (23:03 +0200)
committerKamil Dudka <kdudka@redhat.com>
Mon, 6 May 2013 13:03:12 +0000 (15:03 +0200)
src/Makefile.am
src/tool_main.c
tests/unit/Makefile.am

index 814af6e..9cf1545 100644 (file)
@@ -66,6 +66,14 @@ curl_LDFLAGS = @LIBMETALINK_LDFLAGS@
 curl_CPPFLAGS = $(AM_CPPFLAGS) $(LIBMETALINK_CPPFLAGS)
 curl_DEPENDENCIES = $(top_builddir)/lib/libcurl.la
 
+# if unit tests are enabled, build a static library to link them with
+if BUILD_UNITTESTS
+noinst_LTLIBRARIES = libcurltool.la
+libcurltool_la_CFLAGS = -DUNITTESTS
+libcurltool_la_LDFLAGS = -static $(LINKFLAGS)
+libcurltool_la_SOURCES = $(curl_SOURCES)
+endif
+
 BUILT_SOURCES = tool_hugehelp.c
 CLEANFILES = tool_hugehelp.c
 # Use the C locale to ensure that only ASCII characters appear in the
index 5e1010a..8f2fbb7 100644 (file)
@@ -55,6 +55,9 @@
 int vms_show = 0;
 #endif
 
+/* if we build a static library for unit tests, there is no main() function */
+#ifndef UNITTESTS
+
 /*
  * Ensure that file descriptors 0, 1 and 2 (stdin, stdout, stderr) are
  * open before starting to run.  Otherwise, the first three network
@@ -118,3 +121,4 @@ int main(int argc, char *argv[])
 #endif
 }
 
+#endif /* ndef UNITTESTS */
index 666fc00..4b47f72 100644 (file)
@@ -40,6 +40,7 @@ AM_CPPFLAGS = -I$(top_builddir)/include/curl \
               -I$(top_srcdir)/include        \
               -I$(top_builddir)/lib          \
               -I$(top_srcdir)/lib            \
+              -I$(top_srcdir)/src            \
               -I$(top_srcdir)/tests/libtest  \
               -I$(top_builddir)/ares         \
               -I$(top_srcdir)/ares
@@ -49,6 +50,7 @@ AM_CPPFLAGS = -I$(top_builddir)/include/curl \
               -I$(top_srcdir)/include        \
               -I$(top_builddir)/lib          \
               -I$(top_srcdir)/lib            \
+              -I$(top_srcdir)/src            \
               -I$(top_srcdir)/tests/libtest
 endif
 
@@ -57,8 +59,13 @@ EXTRA_DIST = Makefile.inc
 # Prevent LIBS from being used for all link targets
 LIBS = $(BLANK_AT_MAKETIME)
 
-LDADD = $(top_builddir)/lib/libcurlu.la @LDFLAGS@ @LIBCURL_LIBS@
-DEPENDENCIES = $(top_builddir)/lib/libcurlu.la
+LDADD = $(top_builddir)/src/libcurltool.la   \
+        $(top_builddir)/lib/libcurlu.la      \
+        @LDFLAGS@ @LIBCURL_LIBS@
+
+DEPENDENCIES = $(top_builddir)/src/libcurltool.la \
+               $(top_builddir)/lib/libcurlu.la
+
 AM_CPPFLAGS += -DCURL_STATICLIB -DUNITTESTS
 
 # Makefile.inc provides neat definitions