From c1bf51b8e23c9f2d8d3147fe259a77b8f202e71a Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Tue, 4 Mar 2014 16:23:30 -0800 Subject: Tell Windows users to build with '--disable-shared' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As detailed in GitHub issue #1, attempting to build ppamltracer as a shared library on Cygwin fails. I believed commit bfc92ba (‘autotools: Don’t build DLLs on Cygwin by default’) fixed this; it does, but it also disables shared library building on non-Cygwin systems. We need to do a release, so this bug is getting deferred until later; for the time being, the documented workaround is to pass '--disable-shared' to 'configure'. --- INSTALL | 15 ++++++++++++++- README | 13 ++++++++++--- configure.ac | 9 +-------- 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/INSTALL b/INSTALL index cc29059..0f9d653 100644 --- a/INSTALL +++ b/INSTALL @@ -53,7 +53,9 @@ The simplest way to compile this package is: . 2. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. + `./configure' to configure the package for your system. If you're + building for Cygwin, you should pass `--disable-shared' to `configure'; + ppamltracer will not build as a shared library for Cygwin. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. @@ -79,6 +81,17 @@ The simplest way to compile this package is: test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. +Platform Specific Compilation Notes +=================================== + +As mentioned above, ppamltracer will not build as a shared library for Cygwin. +To build ppamltracer for Cygwin, you'll need to run `configure' with the +`--disable-shared' option: + + ./configure --disable-shared + +This is a known issue. + Compilers and Options ===================== diff --git a/README b/README index e04c6be..b6de939 100644 --- a/README +++ b/README @@ -1,8 +1,8 @@ ppamltracer, v0.1.0 -ppamltracer is a lightweight tracing library designed for explicit instrumentation -of generated code. If you're writing a compiler and need hard data on your -optimizer's efficacy, ppamltracer is the library for you. +ppamltracer is a lightweight tracing library designed for explicit +instrumentation of generated code. If you're writing a compiler and need hard +data on your optimizer's efficacy, ppamltracer is the library for you. ppamltracer writes trace logs in the Open Trace Format [1], a free and open standard developed by the Zentrum für Informationsdienste und @@ -19,6 +19,13 @@ For examples that use the C API, see the examples directory. For examples that use the APIs presented by the various language bindings, see the READMEs associated with those bindings. +******************************************************************************* +* ATTENTION WINDOWS USERS: * +* * +* ppamltracer cannot build shared libraries on Cygwin. If you are building * +* on Cygwin, please pass the --disable-shared option to 'configure'. * +******************************************************************************* + [1] http://tu-dresden.de/die_tu_dresden/zentrale_einrichtungen/zih/forschung/projekte/otf [2] http://darpa.mil/Our_Work/I2O/Programs/Probabilistic_Programming_for_Advanced_Machine_Learning_(PPAML%29.aspx) diff --git a/configure.ac b/configure.ac index 3933d8b..8b3ce7e 100644 --- a/configure.ac +++ b/configure.ac @@ -21,7 +21,6 @@ # Fire up Autoconf. AC_PREREQ([2.69]) AC_INIT([ppamltracer], [0.1.0], [bbarenblat@galois.com]) -AC_CANONICAL_TARGET # Fire up Automake. Use ustar format because we actually have file names # longer than 99 characters (hooray, Java). @@ -32,19 +31,13 @@ AC_CONFIG_MACRO_DIR([m4]) # Build quietly. m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) -# Build C. +# Build a C library. AC_CONFIG_SRCDIR([config.h.in]) AC_CONFIG_HEADERS([config.h]) AC_PROG_CC AC_PROG_CC_C99 # Automake 1.12 seems to require this, but automake 1.11 doesn't recognize it. m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) - -# Build a library. On Cygwin, libotf does not build DLLs, so make ppamltracer -# also not build DLLs. -if test "$target_os" = "cygwin"; then - AC_DISABLE_SHARED -fi LT_INIT # Dependencies -- cgit v1.2.3