summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@colm.net>2021-11-27 21:17:26 +0000
committerAdrian Thurston <thurston@colm.net>2021-11-27 21:17:26 +0000
commitfc61ecb3a22b89864916ec538eaf04840e7dd6b5 (patch)
treeaa12da3d527d2533fbb819cd56f28ffd2a854b6a
parent0fc29d2aabb4878697d9f8221c3a5ec60fba9df2 (diff)
downloadcolm-fc61ecb3a22b89864916ec538eaf04840e7dd6b5.tar.gz
fix: check enable_static and enable_shared and link libcolm appropriately
If --disable-static or --disable-shared is used, then pass this info to compilation of main.cc and link with libcolm appropriately. Default to a static as has been done for some time. refs adrian-thurston/ragel#70.
-rw-r--r--configure.ac8
-rw-r--r--src/main.cc7
2 files changed, 15 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index aa127b68..fc034f28 100644
--- a/configure.ac
+++ b/configure.ac
@@ -45,6 +45,7 @@ AC_PROG_CXX
AC_CHECK_TOOL(AR, ar)
AC_PROG_RANLIB
AC_PROG_LIBTOOL
+
SED_SUBST=["\
-e 's|@CXX@|${CXX}|g' \
-e 's|@CC@|${CC}|g' \
@@ -420,6 +421,13 @@ test -e src/include/colm || ln -s .. src/include/colm
echo "#define VERSION \"$VERSION\"" > src/version.h
echo "#define PUBDATE \"$PUBDATE\"" >> src/version.h
+if test "x$enable_static" = "xyes"; then
+ AC_DEFINE([LINK_STATIC], [1], [Link static lib when invoking C compile and link])
+fi
+
+if test "x$enable_shared" = "xyes"; then
+ AC_DEFINE([LINK_SHARED], [1], [Link shared lib when invoking C compile and link])
+fi
dnl
dnl Wrap up.
diff --git a/src/main.cc b/src/main.cc
index 301fae91..8ca395f0 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -485,7 +485,14 @@ void compileOutput( const char *argv0, const bool inSource, char *srcLocation )
" -I%s/../aapl"
" -I%s/include"
" -L%s"
+#if defined(LINK_STATIC)
" %s/libcolm.a",
+#elif defined(LINK_SHARED)
+ " %s/libcolm.so",
+#else
+# error "must enabled at least one of shared or static libs"
+#endif
+
binaryFn, intermedFn, srcLocation,
srcLocation, location, location );
}