Hi Volker, I also prefer the second option. I think in the Linux case, one would need only to export USE_PTHREADS in CPPFLAGS because, confusingly, it looks like CPPFLAGS is used for different things on Linux compared to AIX. On AIX, CPPFLAGS is used for invocations of the C++ compiler (the 'PP' standing for 'Plus-Plus'). On Linux, CPPFLAGS is for the C Pre-Processor, and so is used for invocations of both the C and C++ compilers. (Linux has CXXFLAGS for C++-specific options). So, on Linux, adding to CPPFLAGS_COMMON should cater for both scenarios, I believe, whilst on AIX, one needs to add to both CPPFLAGS_COMMON and CFLAGS_COMMON. I'm still grappling with Steve's instructions on building this stuff (whilst he suns himself in the glorious British summer weather [1] for a bit), so if you're able to quickly verify (or refute) what I'm saying above, feel free to push a suitable change up to the project. Regards, Neil [1] http://goo.gl/qQIJq On Mon, 2012-07-16 at 10:15 +0200, Volker Simonis wrote:
Hi Steve,
this change breaks the Linux build, because USE_PTHREADS is defined in /usr/work/openjdk/nb/fdbg/linuxx86_64/jdk7u/jdk/make/common/Defs-linux.gmk, but it is not really exported in the CFLAGS/CPPFLAGS as this is done for AIX.
So there are two possibilities here: we could either reintroduce the "superflous" __linux__ or we could export USE_PTHREADS in the CFLAGS/CPPFLAGS in the same way as this is done for AIX. Although we wanted to do as few changes as possible in shared code, I'd vote for the second option, because this is really a feature we want to use (PTHREADS) and it should be defined once in the makefile for the corresponding platform. Going that way would simplify further ports like for example HPUX.
What do you think? Do you want me to do the change or do you have a Linux build yourself?
Regards, Volker
On Thu, Jul 12, 2012 at 2:50 PM, <spoole@linux.vnet.ibm.com> wrote:
Changeset: 5c3a27b86fd1 Author: spoole <spoole@linux.vnet.ibm.com> Date: 2012-07-12 13:50 +0100 URL: http://hg.openjdk.java.net/ppc-aix-port/jdk7u/jdk/rev/5c3a27b86fd1
Updated using pthreads in java_md_solinux.c to just rely on USE_PTHREADS. Removed the superflous __linux__ as USE_PTHREADS is already explictly turned on for linux builds
! src/solaris/bin/java_md_solinux.c
-- Unless stated above: IBM email: neil_richards at uk.ibm.com IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU