aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am8
-rw-r--r--src/tool_main.c4
2 files changed, 12 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 814af6ed0..9cf15455b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -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
diff --git a/src/tool_main.c b/src/tool_main.c
index 5e1010aa8..8f2fbb77b 100644
--- a/src/tool_main.c
+++ b/src/tool_main.c
@@ -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 */