diff options
author | stwo <stwo> | 2010-12-12 12:01:51 (GMT) |
---|---|---|
committer | stwo <stwo> | 2010-12-12 12:01:51 (GMT) |
commit | 899c51483b58eceb78b4fc34ae8b0c6ff59d8db6 (patch) | |
tree | 2f2d1b330d05b843103df57f804fbb45a0b763bf | |
parent | 95b5b6ee49c3dde98bbf1d7306e2909bbaa98ea9 (diff) | |
download | tk-899c51483b58eceb78b4fc34ae8b0c6ff59d8db6.zip tk-899c51483b58eceb78b4fc34ae8b0c6ff59d8db6.tar.gz tk-899c51483b58eceb78b4fc34ae8b0c6ff59d8db6.tar.bz2 |
Better building on OpenBSD.
-rw-r--r-- | ChangeLog | 5 | ||||
-rwxr-xr-x | unix/configure | 46 | ||||
-rw-r--r-- | unix/tcl.m4 | 46 |
3 files changed, 71 insertions, 26 deletions
@@ -1,3 +1,8 @@ +2010-12-12 Stuart Cassoff <stwo@users.sourceforge.net> + + * unix/tcl.m4: Better building on OpenBSD. + * unix/configure: (autoconf-2.59) + 2010-11-24 Jan Nijtmans <nijtmans@users.sf.net> * win/tkWinDialog.c: [Bug #3071836]: Crash/Tcl_Panic on WinXP saving file to C:\ diff --git a/unix/configure b/unix/configure index 1659438..9e29f18 100755 --- a/unix/configure +++ b/unix/configure @@ -5742,20 +5742,40 @@ fi TCL_LIB_VERSIONS_OK=nodots ;; OpenBSD-*) - CFLAGS_OPTIMIZE='-O2' - SHLIB_CFLAGS="-fPIC" - SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}' - SHLIB_LD_LIBS='${LIBS}' - SHLIB_SUFFIX=".so" - DL_OBJS="tclLoadDl.o" - DL_LIBS="" - if test $doRpath = yes; then + arch=`arch -s` + case "$arch" in + m88k|vax) + # Equivalent using configure option --disable-load + # Step 4 will set the necessary variables + DL_OBJS="" + ;; + *) + SHLIB_CFLAGS="-fPIC" + SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}' + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="" + if test $doRpath = yes; then - CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' + CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' fi - LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.${SHLIB_VERSION}' + LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.${SHLIB_VERSION}' + ;; + esac + case "$arch" in + m88k|vax) + CFLAGS_OPTIMIZE="-O1" + ;; + sh) + CFLAGS_OPTIMIZE="-O0" + ;; + *) + CFLAGS_OPTIMIZE="-O2" + ;; + esac echo "$as_me:$LINENO: checking for ELF" >&5 echo $ECHO_N "checking for ELF... $ECHO_C" >&6 if test "${tcl_cv_ld_elf+set}" = set; then @@ -5795,10 +5815,10 @@ fi if test "${TCL_THREADS}" = "1"; then - # OpenBSD builds and links with -pthread, never -lpthread. + # On OpenBSD: Compile with -pthread + # Don't link with -lpthread LIBS=`echo $LIBS | sed s/-lpthread//` CFLAGS="$CFLAGS -pthread" - SHLIB_CFLAGS="$SHLIB_CFLAGS -pthread" fi diff --git a/unix/tcl.m4 b/unix/tcl.m4 index 9643d58..bb3ea1a 100644 --- a/unix/tcl.m4 +++ b/unix/tcl.m4 @@ -1522,17 +1522,37 @@ dnl AC_CHECK_TOOL(AR, ar) TCL_LIB_VERSIONS_OK=nodots ;; OpenBSD-*) - CFLAGS_OPTIMIZE='-O2' - SHLIB_CFLAGS="-fPIC" - SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}' - SHLIB_LD_LIBS='${LIBS}' - SHLIB_SUFFIX=".so" - DL_OBJS="tclLoadDl.o" - DL_LIBS="" - AS_IF([test $doRpath = yes], [ - CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) - LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} - SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.${SHLIB_VERSION}' + arch=`arch -s` + case "$arch" in + m88k|vax) + # Equivalent using configure option --disable-load + # Step 4 will set the necessary variables + DL_OBJS="" + ;; + *) + SHLIB_CFLAGS="-fPIC" + SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}' + SHLIB_LD_LIBS='${LIBS}' + SHLIB_SUFFIX=".so" + DL_OBJS="tclLoadDl.o" + DL_LIBS="" + AS_IF([test $doRpath = yes], [ + CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) + LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} + SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.${SHLIB_VERSION}' + ;; + esac + case "$arch" in + m88k|vax) + CFLAGS_OPTIMIZE="-O1" + ;; + sh) + CFLAGS_OPTIMIZE="-O0" + ;; + *) + CFLAGS_OPTIMIZE="-O2" + ;; + esac AC_CACHE_CHECK([for ELF], tcl_cv_ld_elf, [ AC_EGREP_CPP(yes, [ #ifdef __ELF__ @@ -1543,10 +1563,10 @@ dnl AC_CHECK_TOOL(AR, ar) LDFLAGS=-Wl,-export-dynamic ], [LDFLAGS=""]) AS_IF([test "${TCL_THREADS}" = "1"], [ - # OpenBSD builds and links with -pthread, never -lpthread. + # On OpenBSD: Compile with -pthread + # Don't link with -lpthread LIBS=`echo $LIBS | sed s/-lpthread//` CFLAGS="$CFLAGS -pthread" - SHLIB_CFLAGS="$SHLIB_CFLAGS -pthread" ]) # OpenBSD doesn't do version numbers with dots. UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' |