Port: Add macro for socket linking on solaris
[lttng-tools.git] / configure.ac
index 4e6c06efd17b00868cc8dd10c014e7d8f5cac06b..e80ccc8b43a3bf8d040472f1e1f79134d486705d 100644 (file)
@@ -10,9 +10,9 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
 # Compute minor/major/patchlevel version numbers
 AC_PROG_SED
-major_version=$(echo AC_PACKAGE_VERSION | sed 's/^\([[0-9]]\)*\.[[0-9]]*\.[[0-9]]*.*$/\1/')
-minor_version=$(echo AC_PACKAGE_VERSION | sed 's/^[[0-9]]*\.\([[0-9]]*\)\.[[0-9]]*.*$/\1/')
-patchlevel_version=$(echo AC_PACKAGE_VERSION | sed 's/^[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\).*$/\1/')
+major_version=$(echo AC_PACKAGE_VERSION | $SED 's/^\([[0-9]]\)*\.[[0-9]]*\.[[0-9]]*.*$/\1/')
+minor_version=$(echo AC_PACKAGE_VERSION | $SED 's/^[[0-9]]*\.\([[0-9]]*\)\.[[0-9]]*.*$/\1/')
+patchlevel_version=$(echo AC_PACKAGE_VERSION | $SED 's/^[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\).*$/\1/')
 AC_SUBST([MAJOR_VERSION], [$major_version])
 AC_SUBST([MINOR_VERSION], [$minor_version])
 AC_SUBST([PATCHLEVEL_VERSION], [$patchlevel_version])
@@ -22,7 +22,7 @@ AC_DEFINE_UNQUOTED([VERSION_PATCHLEVEL], $patchlevel_version, [LTTng-Tools patch
 
 version_name="Herbe à Détourne"
 version_description='Brewed with unrestrained amounts of Citra hop, the Herbe à Détourne is a fantastic New World Tripel brewed by "Dieu du Ciel!". Aromas of mango, cantaloupe melon and passion fruit, combined with a controlled bitter finish, unite in making this smooth golden-orange beer stand apart.'
-version_description_c=$(echo $version_description | sed 's/"/\\"/g')
+version_description_c=$(echo $version_description | $SED 's/"/\\"/g')
 
 AC_DEFINE_UNQUOTED([VERSION_NAME], ["$version_name"], "")
 AC_DEFINE_UNQUOTED([VERSION_DESCRIPTION], ["$version_description_c"], "")
@@ -42,12 +42,12 @@ AS_IF([test "x$libtool_fixup" = "xyes"],
            libtool_m4="$srcdir/config/libtool.m4"
            libtool_flag_pattern=".*link_all_deplibs\s*,\s*\$1\s*)"
            AC_MSG_CHECKING([for occurence(s) of link_all_deplibs = no in $libtool_m4])
-           libtool_flag_pattern_count=$(grep -c "$libtool_flag_pattern\s*=\s*no" $libtool_m4)
+           libtool_flag_pattern_count=$($GREP -c "$libtool_flag_pattern\s*=\s*no" $libtool_m4)
            AS_IF([test $libtool_flag_pattern_count -ne 0],
            [
                  AC_MSG_RESULT([$libtool_flag_pattern_count])
                  AC_MSG_WARN([the detected libtool will not link all dependencies, forcing link_all_deplibs = unknown])
-                 sed -i "s/\($libtool_flag_pattern\)\s*=\s*no/\1=unknown/g" $libtool_m4
+                 SED -i "s/\($libtool_flag_pattern\)\s*=\s*no/\1=unknown/g" $libtool_m4
                  ],
                  [
                  AC_MSG_RESULT([none])
@@ -66,10 +66,10 @@ AC_CHECK_HEADERS([ \
 
 # Basic functions check
 AC_CHECK_FUNCS([ \
-       atexit bzero clock_gettime dup2 fdatasync ftruncate \
+       atexit bzero clock_gettime dup2 fdatasync fls ftruncate \
        gethostbyname gethostname getpagesize localtime_r memchr memset \
        mkdir munmap putenv realpath rmdir socket strchr strcspn strdup \
-       strncasecmp strndup strpbrk strrchr strstr strtol strtoul \
+       strncasecmp strndup strnlen strpbrk strrchr strstr strtol strtoul \
        strtoull \
 ])
 
@@ -333,13 +333,13 @@ swig_version=2.0.0
 AC_ARG_ENABLE([python-bindings],
               [AC_HELP_STRING([--enable-python-bindings],
                               [compile Python bindings])],
-              [enable_python=yes], [enable_python=no])
+              [enable_python_binding=yes], [enable_python_binding=no])
 
-AM_CONDITIONAL([USE_PYTHON], [test "x${enable_python:-yes}" = xyes])
+AM_CONDITIONAL([PYTHON_BINDING], [test "x${enable_python_binding:-yes}" = xyes])
 
-if test "x${enable_python:-yes}" = xyes; then
+if test "x${enable_python_binding:-yes}" = xyes; then
   AX_PKG_SWIG($swig_version, [], [ AC_MSG_ERROR([SWIG $swig_version or newer is needed]) ])
-  AM_PATH_PYTHON
+  AM_PATH_PYTHON([3.0])
 
   AC_ARG_VAR([PYTHON_INCLUDE], [Include flags for python, bypassing python-config])
   AC_ARG_VAR([PYTHON_CONFIG], [Path to python-config])
@@ -362,6 +362,8 @@ else
 
 fi
 
+AX_LIB_SOCKET_NSL
+
 # Epoll check. If not present, the build will fallback on poll() API
 AX_HAVE_EPOLL(
        [AX_CONFIG_FEATURE_ENABLE(epoll)],
@@ -414,6 +416,104 @@ if test "x$test_java_agent_jul" = "xyes" || test "x$test_java_agent_log4j" = "xy
        fi
 fi
 
+# Python agent test
+UST_PYTHON_AGENT="lttngust"
+
+AC_ARG_ENABLE(test-python2-agent,
+       AS_HELP_STRING([--enable-test-python2-agent],
+               [enable tests for python2 agent. Python2 interpreter path can be overridden by setting the PYTHON2 environment variable. Default: Autodetect]
+       ),[:],[test_python2_agent_autodetect=yes]
+)
+
+AC_ARG_ENABLE(test-python3-agent,
+       AS_HELP_STRING([--enable-test-python3-agent],
+               [enable tests for python3 agent. Python3 interpreter path can be overridden by setting the PYTHON3 environment variable. Default: Autodetect]
+       ),[:],[test_python3_agent_autodetect=yes]
+)
+
+AC_ARG_ENABLE(test-python-agent-all,
+       AS_HELP_STRING([--enable-test-python-agent-all],
+               [enable test for all python{2/3} agent.]
+       ),
+)
+
+AS_IF([test ! -z "$enable_test_python_agent_all"], [
+       unset test_python2_agent_autodetect
+       unset test_python3_agent_autodetect
+])
+
+AS_IF([test "x$enable_test_python_agent_all" = "xyes"], [
+       enable_test_python2_agent=yes
+       enable_test_python3_agent=yes
+])
+
+AS_IF([test "x$enable_test_python_agent_all" = "xno"], [
+       enable_test_python2_agent=no
+       enable_test_python3_agent=no
+])
+
+
+AS_IF([test "x$enable_test_python2_agent" = "xyes" -o "x$test_python2_agent_autodetect" = "xyes" ], [
+       AS_IF([test -z "$PYTHON2"], [
+                       PYTHON2=python2
+               ], [
+                       AC_MSG_WARN([Using user-defined PYTHON2 ($PYTHON2) for lttng-ust python2 agent check])
+       ])
+
+       AC_PATH_PROG([PYTHON2_BIN],[$PYTHON2])
+       AS_IF([test -z "$PYTHON2_BIN"], [
+               AS_IF([test -z "$test_python2_agent_autodetect"],[
+                       AC_MSG_ERROR([No python2 interpreter found. PYTHON2 can be set to override default interpreter path])
+               ])
+       ], [
+               AC_MSG_CHECKING([for python2 lttng-ust agent])
+               AS_IF([$PYTHON2_BIN -c "import $UST_PYTHON_AGENT" 2>/dev/null], [
+                       PYTHON2_AGENT=$PYTHON2_BIN
+                       AC_MSG_RESULT([yes])
+                       RUN_PYTHON_AGENT_TEST=yes
+               ], [
+                       AC_MSG_RESULT([no])
+                       AS_IF([test -z "$test_python2_agent_autodetect"],[
+                               AC_MSG_ERROR([No python2 agent found. The path to the agent can be specified by setting the PYTHONPATH environment variable.])
+                       ])
+               ])
+
+       ])
+
+])
+
+AS_IF([test "x$enable_test_python3_agent" = "xyes" -o "x$test_python3_agent_autodetect" = "xyes" ], [
+       AS_IF([test -z "$PYTHON3"], [
+               PYTHON3=python3
+       ], [
+               AC_MSG_WARN([Using user-defined PYTHON3 ($PYTHON3) for lttng-ust python3 agent check])
+       ])
+
+       AC_PATH_PROG([PYTHON3_BIN],[$PYTHON3])
+       AS_IF([test -z "$PYTHON3_BIN"], [
+               AS_IF([test -z "$test_python3_agent_autodetect"],[
+                       AC_MSG_ERROR([No python3 interpreter found. PYTHON3 can be set to override default interpreter path])
+               ])
+       ], [
+               AC_MSG_CHECKING([for python3 lttng-ust agent])
+               AS_IF([$PYTHON3_BIN -c "import $UST_PYTHON_AGENT" 2>/dev/null], [
+                       PYTHON3_AGENT=$PYTHON3_BIN
+                       AC_MSG_RESULT([yes])
+                       RUN_PYTHON_AGENT_TEST=yes
+               ], [
+                       AC_MSG_RESULT([no])
+                       AS_IF([test -z "$test_python3_agent_autodetect"],[
+                               AC_MSG_ERROR([No python3 agent found. The path to the agent can be specified by setting the PYTHONPATH environment variable.])
+                       ])
+               ])
+
+       ])
+])
+
+AC_SUBST([RUN_PYTHON_AGENT_TEST])
+AC_SUBST([PYTHON2_AGENT])
+AC_SUBST([PYTHON3_AGENT])
+
 AC_SYS_LARGEFILE
 
 # C compiler tests
@@ -518,6 +618,8 @@ AC_CONFIG_FILES([
        tests/regression/tools/exclusion/Makefile
        tests/regression/tools/save-load/Makefile
        tests/regression/tools/mi/Makefile
+       tests/regression/tools/wildcard/Makefile
+       tests/regression/tools/crash/Makefile
        tests/regression/ust/Makefile
        tests/regression/ust/nprocesses/Makefile
        tests/regression/ust/high-throughput/Makefile
@@ -537,6 +639,7 @@ AC_CONFIG_FILES([
        tests/regression/ust/java-log4j/Makefile
        tests/regression/ust/python-logging/Makefile
        tests/regression/ust/getcpu-override/Makefile
+       tests/regression/ust/clock-override/Makefile
        tests/stress/Makefile
        tests/unit/Makefile
        tests/unit/ini_config/Makefile
@@ -548,6 +651,9 @@ AC_CONFIG_FILES([
        tests/utils/testapp/gen-ust-tracef/Makefile
 ])
 
+# Inject variable into python test script
+AC_CONFIG_FILES([tests/regression/ust/python-logging/test_python_logging],[chmod +x tests/regression/ust/python-logging/test_python_logging])
+
 AC_OUTPUT
 
 #
@@ -606,9 +712,23 @@ AS_IF([test "x$test_java_agent_log4j" = "xyes"],[
        AS_ECHO("Disabled")
 ])
 
+AS_ECHO_N("LTTng-UST Python2 agent tests: ")
+AS_IF([test ! -z "$PYTHON2_AGENT"],[
+       AS_ECHO("Enabled")
+],[
+       AS_ECHO("Disabled")
+])
+
+AS_ECHO_N("LTTng-UST Python3 agent tests: ")
+AS_IF([test ! -z "$PYTHON3_AGENT"],[
+       AS_ECHO("Enabled")
+],[
+       AS_ECHO("Disabled")
+])
+
 #Python binding enabled/disabled
 AS_ECHO_N("Python binding: ")
-AS_IF([test "x${enable_python:-yes}" = xyes], [
+AS_IF([test "x${enable_python_binding:-yes}" = xyes], [
        AS_ECHO("Enabled")
 ],[
        AS_ECHO("Disabled")
This page took 0.028839 seconds and 5 git commands to generate.