Moritz - It wiu are overriding the default.ll take me a while to get through all this but it more or less ok. I did notice that you are defining things which are the default on some platforms (i.e. the ".so" file extension for shared libraries on Linux and BSD). Those are NOT necessary a clutter up the file making it a little harder to follow as it looks at first glance like you are overriding the default.
Thanks,
W. David Ashley
IBM Systems and Technology Group Lab Services
Open Object Rexx Team
Mobile Phone: 512-289-7506
Moritz Hoffmann
<[EMAIL PROTECTED]
om> To
Sent by: Open Object Rexx Developer Mailing
oorexx-devel-boun List
[EMAIL PROTECTED] <[email protected]
orge.net >
cc
07/14/2008 03:12 Subject
PM [Oorexx-devel] Build tools update
Please respond to
Open Object Rexx
Developer Mailing
List
<[EMAIL PROTECTED]
ts.sourceforge.ne
t>
Hi all,
already some time ago I had a look at the build scripts oorexx uses on
*nix platforms. The primary motivation was to make the building look
cleaner by reducing the amount of messages written during compiling. The
result is an updated configure.ac, Makefile.am and acinclude.a4.
As I'm not an expert I'd first like you to review the patch as it may
break the build process somewhere.
Main modifications are:
* Defines moved from command line to config.h. That required that
config.h is incuded in every source file requiring it. Only two files,
TimeSupport.cpp and rxsock.cpp did not include it.
* acinclude: replace AC_TRY_COMPILE by AC_COMPILE_IFELSE because the
first is deprecated.
* Makefile.am: some defines have been removed as they are now in config.h
See attached file for patch!
Moritz
--
Moritz Hoffmann
http://antiguru.de/
Index: rexutils/rxsock.cpp
===================================================================
--- rexutils/rxsock.cpp (revision 2712)
+++ rexutils/rxsock.cpp (working copy)
@@ -43,6 +43,11 @@
/*------------------------------------------------------------------
* program defines
*------------------------------------------------------------------*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+
#if defined(OPSYS_AIX) || defined(OPSYS_LINUX)
#define PROG_NAME "rxsock"
#else
Index: kernel/platform/unix/TimeSupport.cpp
===================================================================
--- kernel/platform/unix/TimeSupport.cpp (revision 2712)
+++ kernel/platform/unix/TimeSupport.cpp (working copy)
@@ -44,6 +44,10 @@
/* */
/*********************************************************************/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include <pthread.h>
#if defined(OPSYS_SUN)
#include <sched.h>
@@ -59,7 +63,6 @@
#include <sys/time.h>
#endif
-
void SystemInterpreter::getCurrentTime(RexxDateTime *Date )
{
struct tm *SystemDate; /* system date structure ptr */
Index: configure.ac
===================================================================
--- configure.ac (revision 2712)
+++ configure.ac (working copy)
@@ -34,7 +34,7 @@
dnl
dnl Process this file with autoconf to produce a configure script
-AC_INIT(oorexx, 4.0.0)
+AC_INIT([oorexx],[4.0.0])
AC_PREFIX_DEFAULT(/opt/ooRexx)
dnl This is to fix a problem with distribution prior to Fedora 7. Fedora 7
@@ -47,11 +47,11 @@
PACKAGE=ooRexx
VERSION=4.0.0
-AC_CANONICAL_SYSTEM
+AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS([config.h])
AC_PROG_CC
AC_PROG_CPP
@@ -62,11 +62,12 @@
AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
-GENERIC_OS="-DLINUX"
-GENERIC_OPSYS="-DOPSYS_LINUX"
-GENERIC_DEFINES="-DNOOPT -DPTHREAD_KERNEL \
- -D_POSIX_THREAD -D_REENTRANT \
- -D_GNU_SOURCE"
+AC_DEFINE(NOOPT,,[noopt])
+AC_DEFINE(PTHREAD_KERNEL,,[pthread kernel])
+AC_DEFINE(SHARED,,[shared])
+AC_DEFINE(_POSIX_THREAD,,[posix thread])
+AC_DEFINE(_REENTRANT,,[reentrant])
+dnl AC_DEFINE(_GNU_SOURCE,,[gnu source])
dnl Now we throw in a bunch of warnings. C and C++ need
dnl different sets here
@@ -82,17 +83,18 @@
-Wformat-nonliteral \
-Wno-format-y2k \
-Wcast-qual \
- -Wcast-align"
+ -Wcast-align \
+ -pedantic"
GCXX_WARNINGS="\
-Wall \
-funsigned-char \
+ -fno-omit-frame-pointer \
-Wpointer-arith \
-Wcast-qual \
-Wcast-align \
-Wshadow \
-Wwrite-strings \
- -D__cplusplus \
-Wredundant-decls"
XLC_WARNINGS="\
@@ -107,8 +109,6 @@
dnl Set platform and compiler specific switches
PACKAGETYPE="none"
-ORX_SYS_STR="unknown"
-ORX_SHARED_LIBRARY_EXT=".so"
ORX_LDADD_EXECUTABLE="-ldl -lpthread"
ORX_LIBADD_LIBRARY=""
ORX_LDFLAGS_EXECUTABLE=""
@@ -117,10 +117,10 @@
ORX_PLATFORM="unix"
case "$target" in
*ibm-aix*)
- GENERIC_OS="-DAIX"
- GENERIC_OPSYS="-DOPSYS_AIX"
- GENERIC_DEFINES="$GENERIC_DEFINES -DOPSYS_AIX43"
-# ORX_SHARED_LIBRARY_EXT=".a"
+ AC_DEFINE(AIX,,[running aix])
+ AC_DEFINE(OPSYS_AIX43,,[running aix])
+ AC_DEFINE(OPSYS_AIX,,[opsys is aix])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".so"],[Shared library
extension])
case "$CXX" in
g++)
CC_WARNINGS="-maix32 -mthreads $GCC_WARNINGS"
@@ -136,10 +136,12 @@
;;
esac
PACKAGETYPE="aix"
- ORX_SYS_STR="AIX"
+ AC_DEFINE([ORX_SYS_STR],["AIX"],[ORX sys string])
;;
*solaris*)
- GENERIC_OPSYS="$GENERIC_OPSYS -DOPSYS_SUN"
+ AC_DEFINE(OPSYS_SUN,,[opsys is sun])
+ AC_DEFINE(OPSYS_LINUX,,[generic opysy])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".so"],[Shared library
extension])
case "$CXX" in
g++)
CC_WARNINGS="-m32 $GCC_WARNINGS"
@@ -150,45 +152,58 @@
;;
esac
PACKAGETYPE="sun"
- ORX_SYS_STR="SUNOS"
+AC_DEFINE([ORX_SYS_STR],["SUNOS"],[ORX sys string])
case "$target" in
*solaris2.8)
- SPECIFIC_DEFINES="-DLIMITED_SOLARIS_SEMS"
+ AC_DEFINE(LIMITED_SOLARIS_SEMS,,[limited solaris sems])
;;
*solaris2.9)
- SPECIFIC_DEFINES="-DLIMITED_SOLARIS_SEMS"
+ AC_DEFINE(LIMITED_SOLARIS_SEMS,,[limited solaris sems])
;;
*)
esac
;;
sparc*sunos*)
- ORX_SYS_STR="SUNOS"
+ AC_DEFINE([ORX_SYS_STR],["SUNOS"],[ORX sys string])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".so"],[Shared library
extension])
;;
i*86-*linux*)
+ AC_DEFINE(LINUX,,[running linux])
+ AC_DEFINE(OPSYS_LINUX,,[opsys is linux])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".so"],[Shared library
extension])
CC_WARNINGS="$GCC_WARNINGS"
CXX_WARNINGS="$GCXX_WARNINGS"
- ORX_SYS_STR="LINUX"
+ AC_DEFINE([ORX_SYS_STR],["LINUX"],[ORX sys string])
;;
*86_64-*linux*)
+ AC_DEFINE(LINUX,,[running linux])
+ AC_DEFINE(OPSYS_LINUX,,[opsys is linux])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".so"],[Shared library
extension])
CC_WARNINGS="-m32 $GCC_WARNINGS"
CXX_WARNINGS="-m32 $GCXX_WARNINGS"
- ORX_SYS_STR="LINUX"
+ AC_DEFINE([ORX_SYS_STR],["LINUX"],[ORX sys string])
;;
alpha*-*linux*)
- ORX_SYS_STR="LINUX"
+ AC_DEFINE(LINUX,,[running linux])
+ AC_DEFINE(OPSYS_LINUX,,[opsys is linux])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".so"],[Shared library
extension])
+ AC_DEFINE([ORX_SYS_STR],["LINUX"],[ORX sys string])
;;
*linux*)
- ORX_SYS_STR="LINUX"
+ AC_DEFINE(LINUX,,[running linux])
+ AC_DEFINE(OPSYS_LINUX,,[opsys is linux])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".so"],[Shared library
extension])
+ AC_DEFINE([ORX_SYS_STR],["LINUX"],[ORX sys string])
;;
*cygnus*)
CC_WARNINGS="$GCC_WARNINGS"
CXX_WARNINGS="$GCXX_WARNINGS"
- ORX_SYS_STR="CYGNUS"
- ORX_SHARED_LIBRARY_EXT=".dll"
- ORX_PLATFORM="windows"
+ AC_DEFINE([ORX_SYS_STR],["CYGNUS"],[ORX sys string])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".dll"],[Shared library
extension])
;;
*freebsd*)
- ORX_SYS_STR="FREEBSD"
+ AC_DEFINE([ORX_SYS_STR],["FREEBSD"],[ORX sys string])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".so"],[Shared library
extension])
ORX_LDADD_EXECUTABLE="-pthread"
ORX_LIBADD_LIBRARY=""
ORX_LDFLAGS_EXECUTABLE="-pthread"
@@ -196,7 +211,8 @@
ORX_LDFLAGS_PACKAGE="-nostartfiles -shared"
;;
*netbsd*)
- ORX_SYS_STR="NETBSD"
+ AC_DEFINE([ORX_SYS_STR],["NETBSD"],[ORX sys string])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".so"],[Shared library
extension])
ORX_LDADD_EXECUTABLE="-pthread"
ORX_LIBADD_LIBRARY=""
ORX_LDFLAGS_EXECUTABLE="-pthread"
@@ -204,7 +220,8 @@
ORX_LDFLAGS_PACKAGE="-nostartfiles -shared"
;;
*openbsd*)
- ORX_SYS_STR="NETBSD"
+ AC_DEFINE([ORX_SYS_STR],["NETBSD"],[ORX sys string])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".so"],[Shared library
extension])
ORX_LDADD_EXECUTABLE="-pthread"
ORX_LIBADD_LIBRARY=""
ORX_LDFLAGS_EXECUTABLE="-pthread"
@@ -212,33 +229,40 @@
ORX_LDFLAGS_PACKAGE="-nostartfiles -shared"
;;
*apple-darwin*)
- ORX_SYS_STR="MACOSX"
- ORX_SHARED_LIBRARY_EXT=".dylib"
+ AC_DEFINE([ORX_SYS_STR],["MACOSX"],[ORX sys string])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".dylib"],[Shared library
extension])
;;
*hp-hpux*)
- ORX_SHARED_LIBRARY_EXT=".sl"
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".sl"],[Shared library
extension])
;;
*dec-osf*)
+ AC_DEFINE([ORX_SYS_STR],["DEC-OSF"],[ORX sys string])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".so"],[Shared library
extension])
;;
*nto-qnx*)
+ AC_DEFINE([ORX_SYS_STR],["NTO-QNX"],[ORX sys string])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".so"],[Shared library
extension])
;;
*qnx*)
+ AC_DEFINE([ORX_SYS_STR],["QNX"],[ORX sys string])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".so"],[Shared library
extension])
;;
*beos*)
+ AC_DEFINE([ORX_SYS_STR],["BEOS"],[ORX sys string])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".so"],[Shared library
extension])
;;
*)
+ AC_DEFINE([ORX_SYS_STR],["unknown"],[ORX sys string])
+ AC_DEFINE([ORX_SHARED_LIBRARY_EXT],[".so"],[Shared library
extension])
;;
esac
# Find out if we are big endian
AC_C_BIGENDIAN()
-#DEVEL_DEFINES="$GENERIC_OS $GENERIC_DEFINES $SPECIFIC_DEFINES"
-#AC_SUBST(DEVEL_DEFINES)
-
AC_SUBST(PACKAGETYPE)
-AC_SUBST(ORX_SYS_STR)
-AC_SUBST(ORX_SHARED_LIBRARY_EXT)
+dnl AC_SUBST(ORX_SYS_STR)
+dnl AC_SUBST(ORX_SHARED_LIBRARY_EXT)
AC_SUBST(ORX_LDADD_EXECUTABLE)
AC_SUBST(ORX_LIBADD_LIBRARY)
AC_SUBST(ORX_LDFLAGS_EXECUTABLE)
@@ -375,27 +399,16 @@
AC_SUBST(ORX_SUBST_AGE)
dnl remerge the warnings into the FLAGS
-GENERAL_CXXFLAGS="\
- $SPECIFIC_DEFINES \
- $GENERIC_DEFINES \
- $GENERIC_OS \
- $GENERIC_OPSYS"
+CXXFLAGS="$CXXFLAGS $CXX_WARNINGS"
+CFLAGS="$CFLAGS $CC_WARNINGS"
-GENERAL_CFLAGS="\
- $SPECIFIC_DEFINES \
- $GENERIC_DEFINES \
- $GENERIC_OS \
- $GENERIC_OPSYS"
-CXXFLAGS="$CXXFLAGS $CFLAGS $CXX_WARNINGS $GENERAL_CXXFLAGS"
-CFLAGS="$CFLAGS $CC_WARNINGS $GENERAL_CFLAGS"
-
AC_SUBST(TOP_SRCDIR,$top_srcdir)
AC_CONFIG_FILES([
Makefile
- platform/unix/oorexx.spec
- platform/unix/debian/changelog
- platform/unix/debian/postinst
+ platform/unix/oorexx.spec
+ platform/unix/debian/changelog
+ platform/unix/debian/postinst
samples/Makefile
samples/unix/Makefile
samples/unix/api/Makefile
@@ -431,4 +444,6 @@
platform/unix/oorexx-config
])
+AC_CONFIG_COMMANDS([
+])
AC_OUTPUT
Index: acinclude.m4
===================================================================
--- acinclude.m4 (revision 2712)
+++ acinclude.m4 (working copy)
@@ -38,10 +38,11 @@
AC_DEFUN([ORX_FILE__CNT],
[
AC_MSG_CHECKING(if FILE struct contains _cnt member)
-AC_TRY_COMPILE([#include <stdio.h>],
-[FILE *fp; fp->_cnt = 0;],
- orx_result=yes; AC_DEFINE(HAVE_FILE__CNT, 1, Define to 1 if FILE struct
contains _cnt member), orx_result=no )
-AC_MSG_RESULT($orx_result)
+AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[#include <stdio.h>]],
+ [[FILE *fp; fp->_cnt = 0;]])],
+ [AC_DEFINE(HAVE_FILE__CNT, 1, Define to 1 if FILE struct contains _cnt
member) AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])])
])
dnl
@@ -50,10 +51,14 @@
AC_DEFUN([ORX_FILE__IO_READ_PTR],
[
AC_MSG_CHECKING(if FILE struct contains _IO_read_ptr member)
-AC_TRY_COMPILE([#include <stdio.h>],
-[FILE *fp; fp->_IO_read_ptr = 0;],
- orx_result=yes; AC_DEFINE(HAVE_FILE__IO_READ_PTR, 1, Define to 1 if FILE
struct contains _IO_read_ptr member), orx_result=no )
-AC_MSG_RESULT($orx_result)
+AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM(
+ [[#include <stdio.h>]],
+ [[FILE *fp; fp->_IO_read_ptr = 0;]]
+ )],
+ [AC_DEFINE(HAVE_FILE__IO_READ_PTR, 1, Define to 1 if FILE struct contains
_IO_read_ptr member)
+ AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])])
])
dnl
@@ -62,63 +67,72 @@
AC_DEFUN([ORX_SEMUN_DEFINED],
[
AC_MSG_CHECKING(if union semun is incorrectly defined)
-AC_TRY_COMPILE([
+AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
#include <sys/types.h>
#ifdef HAVE_SYS_SEM_H
#include <sys/sem.h>
#endif
-],
-[union semun semopts],
- orx_result=yes; AC_DEFINE(HAVE_UNION_SEMUN, 1, Define to 1 if union
semun is defined in sys/sem.h), orx_result=no )
-AC_MSG_RESULT($orx_result)
+]],
+ [[union semun semopts]]
+ )],
+ [AC_DEFINE(HAVE_UNION_SEMUN, 1, Define to 1 if union semun is defined in
sys/sem.h)
+ AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])])
])
dnl
dnl Check which values are valid for pthread_mutexattr_settype() arg 4 are
valid
dnl
AC_DEFUN([ORX_PTHREAD_MUTEXATTR_SETTYPE_ARG2],
-[
-AC_MSG_CHECKING(which values are valid for pthread_mutexattr_settype arg 2
are valid)
-AC_TRY_COMPILE([
+[AC_MSG_CHECKING(which values are valid for pthread_mutexattr_settype arg
2)
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
#ifdef HAVE_PTHREAD_H
#include <pthread.h>
#endif
#ifdef HAVE_SYS_SEM_H
#include <sys/sem.h>
#endif
-],
-[
-pthread_mutexattr_t mutexattr;
-pthread_mutexattr_settype(&mutexattr, PTHREAD_MUTEX_RECURSIVE_NP);
-],
- orx_result=yes; AC_DEFINE(HAVE_PTHREAD_MUTEX_RECURSIVE_NP, 1, Define to
1 if PTHREAD_MUTEX_RECURSIVE_NP is a valid value), orx_result=no )
-AC_TRY_COMPILE([
+]],
+ [[
+ pthread_mutexattr_t mutexattr;
+ pthread_mutexattr_settype(&mutexattr, PTHREAD_MUTEX_RECURSIVE_NP);
+ ]])],
+ [AC_DEFINE(HAVE_PTHREAD_MUTEX_RECURSIVE_NP, 1, Define to 1 if
PTHREAD_MUTEX_RECURSIVE_NP is a valid value)
+ AC_MSG_RESULT([yes])
+ ],[AC_MSG_RESULT([no])])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
#ifdef HAVE_PTHREAD_H
#include <pthread.h>
#endif
#ifdef HAVE_SYS_SEM_H
#include <sys/sem.h>
#endif
-],
-[
-pthread_mutexattr_t mutexattr;
-pthread_mutexattr_settype(&mutexattr, PTHREAD_MUTEX_RECURSIVE);
-],
- orx_result=yes; AC_DEFINE(HAVE_PTHREAD_MUTEX_RECURSIVE, 1, Define to 1
if PTHREAD_MUTEX_RECURSIVE is a valid value), orx_result=no )
-AC_TRY_COMPILE([
+]],
+ [[
+ pthread_mutexattr_t mutexattr;
+ pthread_mutexattr_settype(&mutexattr, PTHREAD_MUTEX_RECURSIVE);
+ ]])],
+ [AC_DEFINE(HAVE_PTHREAD_MUTEX_RECURSIVE, 1, Define to 1 if
PTHREAD_MUTEX_RECURSIVE is a valid value)
+ AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])]
+ )
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#ifdef HAVE_PTHREAD_H
#include <pthread.h>
#endif
#ifdef HAVE_SYS_SEM_H
#include <sys/sem.h>
#endif
-],
-[
-pthread_mutexattr_t mutexattr;
-pthread_mutexattr_settype(&mutexattr, PTHREAD_MUTEX_ERRORCHECK);
-],
- orx_result=yes; AC_DEFINE(HAVE_PTHREAD_MUTEX_ERRORCHECK, 1, Define to 1
if PTHREAD_MUTEX_ERRORCHECK is a valid value), orx_result=no )
-AC_MSG_RESULT(found)
-]
-)
+]],
+ [[
+ pthread_mutexattr_t mutexattr;
+ pthread_mutexattr_settype(&mutexattr, PTHREAD_MUTEX_ERRORCHECK);
+ ]])],
+ [AC_DEFINE(HAVE_PTHREAD_MUTEX_ERRORCHECK, 1, Define to 1 if
PTHREAD_MUTEX_ERRORCHECK is a valid value)
+ AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])])
+])
Index: Makefile.am
===================================================================
--- Makefile.am (revision 2712)
+++ Makefile.am (working copy)
@@ -103,9 +103,7 @@
catdir = $(prefix)/bin
COMMON_CPPFLAGS = -DORX_VER=$(ORX_MAJOR) -DORX_REL=$(ORX_MINOR)
-DORX_MOD=$(ORX_MOD_LVL) -DORX_FIX=0 \
- -DORX_SYS_STR=\"@[EMAIL PROTECTED]" \
- -DORX_CATDIR=\"$(catdir)\" \
- -DORX_SHARED_LIBRARY_EXT=\"@[EMAIL PROTECTED]"
+ -DORX_CATDIR=\"$(catdir)\"
messageXML = $(build_messages_dir)/rexxmsg.xml
-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel
<<inline: graycol.gif>>
<<inline: pic25991.gif>>
<<inline: ecblank.gif>>
------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________ Oorexx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/oorexx-devel
