stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: Nightly testing failures on AIX 5.3
Date Thu, 07 Dec 2006 21:37:50 GMT
Andrew Black wrote:
> Greetings all.
> 
> Attached is my first try at splitting out the rpath flags into directory 
> specific variables, along with the Changelog entry.  The changes are 
> fairly straight forward, but somewhat repetitive.

I thought the new variables were going to replace
LDSOFLAGS, STATIC_LDFLAGS, and SHARED_LDFLAGS but
I see you retained them. Any particular reason
why they couldn't be removed?

One note about the naming convention: BUILDMODE
uses "archive" and "shared" for what you call
"static" and "share." We should decide on one and
use it consistently. My personal preference
between the two is what's already in use.

Finally, is your plan to apply the same convention
to the other variables (like CXXFLAGS, etc.) in a
followup patch?

Martin

> 
> --Andrew Black
> 
> Martin Sebor wrote:
> 
>> Andrew Black wrote:
>>
>>>
>>>
>>> Martin Sebor wrote:
>>>
>>>> Andrew Black wrote:
>>>
>>>
>>> [...]
>>>
>>>> The LDSOFLAGS variable defines the set of linker flags
>>>> when linking a shared library, and we should also have
>>>> one for rwtest, and for programs that link with one or
>>>> both of the two. Maybe something like
>>>>
>>>>   LDFLAGS: common linker flags
>>>>   LDFLAGS.lib: linker flags for the library only
>>>>   LDFLAGS.rwt: linker flags for rwtest only
>>>>   LDFLAGS.tst: linker flags for the tests
>>>>   LDFLAGS.exm: linker flags for the examples
>>>>   LDFLAGS.util: linker flags for the utilities
>>>>
>>>> These would replace the current SHARED_LDFLAGS as well
>>>> as LDSOFLAGS.
>>>
>>>
>>>
>>> This seems like a reasonable plan of action.  I note that the values 
>>> of the new variables will need to be written into the generated 
>>> makefile.in, as the .config files aren't used outside the builddir 
>>> make process.  I suspect that the values for LDFLAGS.exm and 
>>> LDFLAGS.util will be the same, but it's probably better to keep these 
>>> separate, in case they need to differ.
>>>
>>> Do you wish to make these changes, or shall I?
>>
>>
>> I'll be happy to let you take the first crack at it :)
>>
>> Thanks
>> Martin
> 
> 
> ------------------------------------------------------------------------
> 
> Index: GNUmakefile
> ===================================================================
> --- GNUmakefile	(revision 482263)
> +++ GNUmakefile	(working copy)
> @@ -437,11 +437,21 @@
>      CPPFLAGS  += $(SHARED_CPPFLAGS)
>      LDFLAGS   += $(SHARED_LDFLAGS)
>      LIBSUFFIX  = $(SHARED_SUFFIX)
> +    LDFLAGS.lib += $(LDFLAGS.lib.share)
> +    LDFLAGS.bin += $(LDFLAGS.bin.share)
> +    LDFLAGS.exm += $(LDFLAGS.exm.share)
> +    LDFLAGS.ph  += $(LDFLAGS.ph.share)
> +    LDFLAGS.rwt += $(LDFLAGS.rwt.share)
> +    LDFLAGS.tst += $(LDFLAGS.tst.share)
>    else
>      CXXFLAGS  += $(STATIC_CXXFLAGS)
>      CPPFLAGS  += $(STATIC_CPPFLAGS)
>      LDFLAGS   += $(STATIC_LDFLAGS)
>      LIBSUFFIX  = $(STATIC_SUFFIX)
> +    LDFLAGS.bin += $(LDFLAGS.bin.static)
> +    LDFLAGS.exm += $(LDFLAGS.exm.static)
> +    LDFLAGS.ph  += $(LDFLAGS.ph.static)
> +    LDFLAGS.tst += $(LDFLAGS.tst.static)
>  
>      # not applicable to non-shared builds
>      PICFLAGS   =
> @@ -586,6 +596,12 @@
>            && echo "AS_EXT     = $(AS_EXT)"               >> $(MAKEFILE_IN)
 \
>            && echo "LD         = $(LD)"                   >> $(MAKEFILE_IN)
 \
>            && echo "LDFLAGS    = $(LDFLAGS)"              >> $(MAKEFILE_IN)
 \
> +          && echo "LDFLAGS.lib = $(LDFLAGS.lib)"         >> $(MAKEFILE_IN)
 \
> +          && echo "LDFLAGS.rwt = $(LDFLAGS.rwt)"         >> $(MAKEFILE_IN)
 \
> +          && echo "LDFLAGS.tst = $(LDFLAGS.tst)"         >> $(MAKEFILE_IN)
 \
> +          && echo "LDFLAGS.exm = $(LDFLAGS.exm)"         >> $(MAKEFILE_IN)
 \
> +          && echo "LDFLAGS.bin = $(LDFLAGS.bin)"         >> $(MAKEFILE_IN)
 \
> +          && echo "LDFLAGS.ph = $(LDFLAGS.ph)"           >> $(MAKEFILE_IN)
 \
>            && echo "LDLIBS     = $(LDLIBS)"               >> $(MAKEFILE_IN)
 \
>            && echo "LDSOFLAGS  = $(LDSOFLAGS)"            >> $(MAKEFILE_IN)
 \
>            && echo "MAPFLAGS   = $(MAPFLAGS)"             >> $(MAKEFILE_IN)
 \
> Index: etc/config/GNUmakefile.exm
> ===================================================================
> --- etc/config/GNUmakefile.exm	(revision 482263)
> +++ etc/config/GNUmakefile.exm	(working copy)
> @@ -23,6 +23,9 @@
>  
>  RUNFLAGS += -d $(EXMDIR)
>  
> +# Append the directory specific LDFLAGS
> +LDFLAGS += $(LDFLAGS.exm)
> +
>  ##############################################################################
>  #  TARGETS
>  ##############################################################################
> Index: etc/config/GNUmakefile.cfg
> ===================================================================
> --- etc/config/GNUmakefile.cfg	(revision 482263)
> +++ etc/config/GNUmakefile.cfg	(working copy)
> @@ -163,6 +163,7 @@
>                    if [ ! -f vars.sh ] ; then                                \
>                        cat ../makefile.in                                    \
>                        | sed -e "s/= *\([^ ][^ ]* .*\)/=\"\1\"/"             \
> +                            -e "s/\.\(\w\+ \+=\)/_\1/"                      \
>                              -e "s/^\([^ ]*\) *= *\(.*\)/\1=\2 ; export \1/" \
>                              -e 's/$$(\([^)]*\))/${\1}/g' >vars.sh ;         \
>                    fi ;                                                      \
> Index: etc/config/sunpro.config
> ===================================================================
> --- etc/config/sunpro.config	(revision 482263)
> +++ etc/config/sunpro.config	(working copy)
> @@ -35,12 +35,24 @@
>  # shared/static library options
>  SHARED_CXXFLAGS =
>  SHARED_CPPFLAGS =
> -SHARED_LDFLAGS  = -R$(LIBDIR)
> +SHARED_LDFLAGS  = 
>  
> +LDFLAGS.lib.share =
> +LDFLAGS.bin.share = -R$(LIBDIR)
> +LDFLAGS.exm.share = -R$(LIBDIR)
> +LDFLAGS.ph.share  = -R$(LIBDIR)
> +LDFLAGS.rwt.share = -R$(LIBDIR)
> +LDFLAGS.tst.share = -R$(LIBDIR):$(buildpath)/rwtest
> +
>  STATIC_CXXFLAGS =
>  STATIC_CPPFLAGS =
>  STATIC_LDFLAGS  =
>  
> +LDFLAGS.bin.static =
> +LDFLAGS.exm.static =
> +LDFLAGS.ph.static  =
> +LDFLAGS.tst.static = 
> +
>  # multi/single thread options; -mt defines _REENTRANT
>  MULTI_CPPFLAGS_POSIX   = -mt
>  MULTI_CPPFLAGS_SOLARIS = -mt -D_RWSTD_SOLARIS_THREADS
> Index: etc/config/acc.config
> ===================================================================
> --- etc/config/acc.config	(revision 482263)
> +++ etc/config/acc.config	(working copy)
> @@ -79,13 +79,25 @@
>  # shared/static library options
>  SHARED_CXXFLAGS =
>  SHARED_CPPFLAGS =
> -SHARED_LDFLAGS  = -Wl,+b$(LIBDIR)
> +SHARED_LDFLAGS  = 
>  SHARED_SUFFIX   = .sl
>  
> +LDFLAGS.lib.share =
> +LDFLAGS.bin.share = -Wl,+b$(LIBDIR)
> +LDFLAGS.exm.share = -Wl,+b$(LIBDIR)
> +LDFLAGS.ph.share  = -Wl,+b$(LIBDIR)
> +LDFLAGS.rwt.share = -Wl,+b$(LIBDIR)
> +LDFLAGS.tst.share = -Wl,+b$(LIBDIR):$(buildpath)/rwtest
> +
>  STATIC_CXXFLAGS =
>  STATIC_CPPFLAGS =
>  STATIC_LDFLAGS  =
>  
> +LDFLAGS.bin.static =
> +LDFLAGS.exm.static =
> +LDFLAGS.ph.static  =
> +LDFLAGS.tst.static = 
> +
>  # multi/single thread options; 
>  # we use the macros defined by the compiler when the -mt option is used
>  # DCE threads not added since HP-UX versions after 10.20 use POSIX
> Index: etc/config/reliant_cds.config
> ===================================================================
> --- etc/config/reliant_cds.config	(revision 482263)
> +++ etc/config/reliant_cds.config	(working copy)
> @@ -28,10 +28,22 @@
>  SHARED_CPPFLAGS = -D_RWSTD_SHARED_LIB
>  SHARED_LDFLAGS  = -G
>  
> +LDFLAGS.lib.share =
> +LDFLAGS.bin.share =
> +LDFLAGS.exm.share =
> +LDFLAGS.ph.share  =
> +LDFLAGS.rwt.share =
> +LDFLAGS.tst.share =
> +
>  STATIC_CXXFLAGS =
>  STATIC_CPPFLAGS =
>  STATIC_LDFLAGS  =
>  
> +LDFLAGS.bin.static =
> +LDFLAGS.exm.static =
> +LDFLAGS.ph.static  =
> +LDFLAGS.tst.static = 
> +
>  # multi/single thread options
>  MULTI_CPPFLAGS  = -D_REENTRANT
>  MULTI_LDFLAGS   = -lpthread
> Index: etc/config/GNUmakefile.lib
> ===================================================================
> --- etc/config/GNUmakefile.lib	(revision 482263)
> +++ etc/config/GNUmakefile.lib	(working copy)
> @@ -24,7 +24,7 @@
>  MSGFILES     = rwstderr.msg
>  
>  CXXFLAGS    += $(PICFLAGS)
> -LDFLAGS     += $(LDSOFLAGS) $(MAPFLAGS) $(MAPFILE)
> +LDFLAGS     += $(LDSOFLAGS) $(LDFLAGS.lib) $(MAPFLAGS) $(MAPFILE)
>  
>  # OBJS += $(shell [ -d ./cxx_repository/ ] && echo ./cxx_repository/*.o)
>  
> Index: etc/config/mipspro.config
> ===================================================================
> --- etc/config/mipspro.config	(revision 482263)
> +++ etc/config/mipspro.config	(working copy)
> @@ -47,12 +47,24 @@
>  # shared/static library options
>  SHARED_CXXFLAGS =
>  SHARED_CPPFLAGS =
> -SHARED_LDFLAGS  = -Wl,-rpath,$(LIBDIR)
> +SHARED_LDFLAGS  =
>  
> +LDFLAGS.lib.share =
> +LDFLAGS.bin.share = -Wl,-rpath,$(LIBDIR)
> +LDFLAGS.exm.share = -Wl,-rpath,$(LIBDIR)
> +LDFLAGS.ph.share  = -Wl,-rpath,$(LIBDIR)
> +LDFLAGS.rwt.share = -Wl,-rpath,$(LIBDIR)
> +LDFLAGS.tst.share = -Wl,-rpath,$(LIBDIR):$(buildpath)/rwtest
> +
>  STATIC_CXXFLAGS =
>  STATIC_CPPFLAGS =
>  STATIC_LDFLAGS  =
>  
> +LDFLAGS.bin.static =
> +LDFLAGS.exm.static =
> +LDFLAGS.ph.static  =
> +LDFLAGS.tst.static = 
> +
>  # multi/single thread options
>  MULTI_CPPFLAGS_POSIX   = -D_REENTRANT
>  MULTI_CPPFLAGS_SOLARIS = 
> Index: etc/config/GNUmakefile.ph
> ===================================================================
> --- etc/config/GNUmakefile.ph	(revision 482263)
> +++ etc/config/GNUmakefile.ph	(working copy)
> @@ -47,6 +47,9 @@
>  # override the runtarget set in makefile.common
>  RUNTARGET   = $(shell $(MAKE) -s listtarget listsubtests | sed "s/ / .\//g")
>  
> +# Append the directory specific LDFLAGS
> +LDFLAGS += $(LDFLAGS.ph)
> +
>  ##############################################################################
>  #  TARGETS  
>  ##############################################################################
> Index: etc/config/GNUmakefile.bin
> ===================================================================
> --- etc/config/GNUmakefile.bin	(revision 482263)
> +++ etc/config/GNUmakefile.bin	(working copy)
> @@ -48,6 +48,10 @@
>  # Don't want to link exec utility with stdlib, so create our own LDFLAGS var
>  LDFLAGS.exec = $(filter-out -l$(LIBBASE),$(LDFLAGS))
>  
> +# Append the directory specific LDFLAGS
> +# May not wish to include in LDFLAGS.exec
> +LDFLAGS += $(LDFLAGS.bin)
> +
>  ##############################################################################
>  #  TARGETS
>  ##############################################################################
> Index: etc/config/gcc.config
> ===================================================================
> --- etc/config/gcc.config	(revision 482263)
> +++ etc/config/gcc.config	(working copy)
> @@ -138,29 +138,53 @@
>  # shared/static library options
>  SHARED_CXXFLAGS = 
>  SHARED_CPPFLAGS =
> +SHARED_LDFLAGS  =
> +LDFLAGS.lib.share =
>  ifeq ($(OSNAME),Linux)
> -  SHARED_LDFLAGS = -Wl,-R$(LIBDIR)
> +  LDFLAGS.bin.share = -Wl,-R$(LIBDIR)
> +  LDFLAGS.exm.share = -Wl,-R$(LIBDIR)
> +  LDFLAGS.ph.share  = -Wl,-R$(LIBDIR)
> +  LDFLAGS.rwt.share = -Wl,-R$(LIBDIR)
> +  LDFLAGS.tst.share = -Wl,-R$(LIBDIR):$(buildpath)/rwtest
>  else
>    ifeq ($(OSNAME),SunOS)
> -    SHARED_LDFLAGS = -Wl,-R$(LIBDIR)
> +    LDFLAGS.bin.share = -Wl,-R$(LIBDIR)
> +    LDFLAGS.exm.share = -Wl,-R$(LIBDIR)
> +    LDFLAGS.ph.share  = -Wl,-R$(LIBDIR)
> +    LDFLAGS.rwt.share = -Wl,-R$(LIBDIR)
> +    LDFLAGS.tst.share = -Wl,-R$(LIBDIR):$(buildpath)/rwtest
>    else
>      ifeq ($(OSNAME),AIX)
>        ifeq ($(shell [ $(OS_MAJOR) -gt 5 -o $(OS_MAJOR) -eq 5 -a $(OS_MINOR) \
>  -ge 3 ] && echo 1), 1)
>          # -bsrv4, -R only available on AIX 5.3 and newer
> -        SHARED_LDFLAGS  = -Wl,-bsvr4,-R$(LIBDIR)
> +        LDFLAGS.bin.share = -Wl,-bsvr4,-R$(LIBDIR)
> +        LDFLAGS.exm.share = -Wl,-bsvr4,-R$(LIBDIR)
> +        LDFLAGS.ph.share  = -Wl,-bsvr4,-R$(LIBDIR)
> +        LDFLAGS.rwt.share = -Wl,-bsvr4,-R$(LIBDIR)
> +        LDFLAGS.tst.share = -Wl,-bsvr4,-R$(LIBDIR):$(buildpath)/rwtest
>        endif
>      else
>        ifeq ($(OSNAME),HP-UX)
> -        SHARED_LDFLAGS = -Wl,+b$(LIBDIR)
> +        LDFLAGS.bin.share = -Wl,+b$(LIBDIR)
> +        LDFLAGS.exm.share = -Wl,+b$(LIBDIR)
> +        LDFLAGS.ph.share  = -Wl,+b$(LIBDIR)
> +        LDFLAGS.rwt.share = -Wl,+b$(LIBDIR)
> +        LDFLAGS.tst.share = -Wl,+b$(LIBDIR):$(buildpath)/rwtest
>        else
>          ifeq ($(OSNAME),IRIX64)
> -          SHARED_LDFLAGS = -Wl,-rpath,$(LIBDIR)
> +          LDFLAGS.bin.share = -Wl,-rpath,$(LIBDIR)
> +          LDFLAGS.exm.share = -Wl,-rpath,$(LIBDIR)
> +          LDFLAGS.ph.share  = -Wl,-rpath,$(LIBDIR)
> +          LDFLAGS.rwt.share = -Wl,-rpath,$(LIBDIR)
> +          LDFLAGS.tst.share = -Wl,-rpath,$(LIBDIR):$(buildpath)/rwtest
>          else
>            ifeq ($(OSNAME),OSF1)
> -            SHARED_LDFLAGS = -Wl,-rpath,$(LIBDIR)
> -          else
> -            SHARED_LDFLAGS =
> +            LDFLAGS.bin.share = -Wl,-rpath,$(LIBDIR)
> +            LDFLAGS.exm.share = -Wl,-rpath,$(LIBDIR)
> +            LDFLAGS.ph.share  = -Wl,-rpath,$(LIBDIR)
> +            LDFLAGS.rwt.share = -Wl,-rpath,$(LIBDIR)
> +            LDFLAGS.tst.share = -Wl,-rpath,$(LIBDIR):$(buildpath)/rwtest
>            endif
>          endif
>        endif
> @@ -184,6 +208,11 @@
>  STATIC_CPPFLAGS =
>  STATIC_LDFLAGS  =
>  
> +LDFLAGS.bin.static =
> +LDFLAGS.exm.static =
> +LDFLAGS.ph.static  =
> +LDFLAGS.tst.static = 
> +
>  # compiler and linker flags for thread safety
>  # use undocumented (though long implemented) gcc option -pthread
>  # which defines _REENTRANT;
> Index: etc/config/GNUmakefile.tst
> ===================================================================
> --- etc/config/GNUmakefile.tst	(revision 482263)
> +++ etc/config/GNUmakefile.tst	(working copy)
> @@ -67,6 +67,9 @@
>  # add to targets objects for any sources in the current working directory
>  TARGET += $(patsubst %.cpp,%.o,$(wildcard *.cpp))
>  
> +# Append the directory specific LDFLAGS
> +LDFLAGS += $(LDFLAGS.tst)
> +
>  ##############################################################################
>  #  TARGETS
>  ##############################################################################
> Index: etc/config/como.config
> ===================================================================
> --- etc/config/como.config	(revision 482263)
> +++ etc/config/como.config	(working copy)
> @@ -38,10 +38,22 @@
>  SHARED_CPPFLAGS = -D_RWSTD_SHARED_LIB
>  SHARED_LDFLAGS  = -shared
>  
> +LDFLAGS.lib.share =
> +LDFLAGS.bin.share =
> +LDFLAGS.exm.share =
> +LDFLAGS.ph.share  =
> +LDFLAGS.rwt.share =
> +LDFLAGS.tst.share =
> +
>  STATIC_CXXFLAGS =
>  STATIC_CPPFLAGS =
>  STATIC_LDFLAGS  =
>  
> +LDFLAGS.bin.static =
> +LDFLAGS.exm.static =
> +LDFLAGS.ph.static  =
> +LDFLAGS.tst.static = 
> +
>  # Compiler and linker flags for multi-threading
>  MULTI_CPPFLAGS_POSIX   = -D_REENTRANT 
>  MULTI_CPPFLAGS_SOLARIS = 
> Index: etc/config/icc.config
> ===================================================================
> --- etc/config/icc.config	(revision 482263)
> +++ etc/config/icc.config	(working copy)
> @@ -42,12 +42,24 @@
>  # shared/archive library options
>  SHARED_CXXFLAGS =
>  SHARED_CPPFLAGS =
> -SHARED_LDFLAGS  = -Wl,-R$(LIBDIR)
> +SHARED_LDFLAGS  =
>  
> +LDFLAGS.lib.share =
> +LDFLAGS.bin.share = -Wl,-R$(LIBDIR)
> +LDFLAGS.exm.share = -Wl,-R$(LIBDIR)
> +LDFLAGS.ph.share  = -Wl,-R$(LIBDIR)
> +LDFLAGS.rwt.share = -Wl,-R$(LIBDIR)
> +LDFLAGS.tst.share = -Wl,-R$(LIBDIR):$(buildpath)/rwtest
> +
>  STATIC_CXXFLAGS =
>  STATIC_CPPFLAGS =
>  STATIC_LDFLAGS  =
>  
> +LDFLAGS.bin.static =
> +LDFLAGS.exm.static =
> +LDFLAGS.ph.static  =
> +LDFLAGS.tst.static = 
> +
>  # compiler and linker flags for thread safety
>  MULTI_CPPFLAGS_POSIX   = -D_REENTRANT
>  MULTI_CPPFLAGS_SOLARIS = 
> Index: etc/config/GNUmakefile.rwt
> ===================================================================
> --- etc/config/GNUmakefile.rwt	(revision 482263)
> +++ etc/config/GNUmakefile.rwt	(working copy)
> @@ -54,6 +54,9 @@
>  CXXPRELINK = $(CXX) $(CPPFLAGS) $(PRELINKFLAGS) $(OBJS) $(LDFLAGS)
>  endif   # ($(PRELINKFLAGS),)
>  
> +# Append the directory specific LDFLAGS
> +LDFLAGS += $(LDFLAGS.rwt)
> +
>  ##############################################################################
>  #  TARGETS
>  ##############################################################################
> Index: etc/config/osf_cxx.config
> ===================================================================
> --- etc/config/osf_cxx.config	(revision 482263)
> +++ etc/config/osf_cxx.config	(working copy)
> @@ -35,12 +35,24 @@
>  # shared/static library option
>  SHARED_CXXFLAGS = 
>  SHARED_CPPFLAGS = -D_RWSTD_SHARED_LIB
> -SHARED_LDFLAGS  = -rpath $(LIBDIR)
> +SHARED_LDFLAGS  =
>  
> +LDFLAGS.lib.share =
> +LDFLAGS.bin.share = -rpath $(LIBDIR)
> +LDFLAGS.exm.share = -rpath $(LIBDIR)
> +LDFLAGS.ph.share  = -rpath $(LIBDIR)
> +LDFLAGS.rwt.share = -rpath $(LIBDIR)
> +LDFLAGS.tst.share = -rpath $(LIBDIR):$(buildpath)/rwtest
> +
>  STATIC_CXXFLAGS =
>  STATIC_CPPFLAGS =
>  STATIC_LDFLAGS  =
>  
> +LDFLAGS.bin.static =
> +LDFLAGS.exm.static =
> +LDFLAGS.ph.static  =
> +LDFLAGS.tst.static = 
> +
>  # multi/single thread options; -pthread option defines _REENTRANT
>  MULTI_CPPFLAGS_POSIX   = -pthread 
>  MULTI_CPPFLAGS_SOLARIS = 
> Index: etc/config/vacpp.config
> ===================================================================
> --- etc/config/vacpp.config	(revision 482263)
> +++ etc/config/vacpp.config	(working copy)
> @@ -117,14 +117,24 @@
>  # shared/archive library options
>  SHARED_CXXFLAGS = 
>  SHARED_CPPFLAGS =
> +SHARED_LDFLAGS  =
> +LDFLAGS.lib.share =
>  ifeq ($(OSNAME),AIX)
>    ifeq ($(shell [ $(OS_MAJOR) -gt 5 -o $(OS_MAJOR) -eq 5 -a $(OS_MINOR) -ge 3 \
>  ] && echo 1), 1)
>      # -bsrv4, -R only available on AIX 5.3 and newer
> -    SHARED_LDFLAGS  = -Wl,-bsvr4,-R$(LIBDIR)
> +    LDFLAGS.bin.share = -Wl,-bsvr4,-R$(LIBDIR)
> +    LDFLAGS.exm.share = -Wl,-bsvr4,-R$(LIBDIR)
> +    LDFLAGS.ph.share  = -Wl,-bsvr4,-R$(LIBDIR)
> +    LDFLAGS.rwt.share = -Wl,-bsvr4,-R$(LIBDIR)
> +    LDFLAGS.tst.share = -Wl,-bsvr4,-R$(LIBDIR):$(buildpath)/rwtest
>    endif
>  else   # assume Linux
> -  SHARED_LDFLAGS  = -Wl,-R$(LIBDIR)
> +  LDFLAGS.bin.share = -Wl,-R$(LIBDIR)
> +  LDFLAGS.exm.share = -Wl,-R$(LIBDIR)
> +  LDFLAGS.ph.share  = -Wl,-R$(LIBDIR)
> +  LDFLAGS.rwt.share = -Wl,-R$(LIBDIR)
> +  LDFLAGS.tst.share = -Wl,-R$(LIBDIR):$(buildpath)/rwtest
>  endif
>  
>  ifeq ($(rtl_enabled),1)
> @@ -138,6 +148,11 @@
>  STATIC_LDFLAGS  =
>  STATIC_SUFFIX   = .a
>  
> +LDFLAGS.bin.static =
> +LDFLAGS.exm.static =
> +LDFLAGS.ph.static  =
> +LDFLAGS.tst.static = 
> +
>  # multi/single thread options; xlC_r driver defines -qthreaded
>  # and _THREAD_SAFE and __VACPP_MULTI__ macros
>  MULTI_CPPFLAGS_POSIX   = 
> Index: etc/config/eccp.config
> ===================================================================
> --- etc/config/eccp.config	(revision 482263)
> +++ etc/config/eccp.config	(working copy)
> @@ -59,10 +59,22 @@
>  SHARED_CPPFLAGS = -D_RWSTD_SHARED_LIB
>  SHARED_LDFLAGS  = -shared
>  
> +LDFLAGS.lib.share =
> +LDFLAGS.bin.share =
> +LDFLAGS.exm.share =
> +LDFLAGS.ph.share  =
> +LDFLAGS.rwt.share =
> +LDFLAGS.tst.share =
> +
>  STATIC_CXXFLAGS =
>  STATIC_CPPFLAGS =
>  STATIC_LDFLAGS  =
>  
> +LDFLAGS.bin.static =
> +LDFLAGS.exm.static =
> +LDFLAGS.ph.static  =
> +LDFLAGS.tst.static = 
> +
>  # Compiler and linker flags for multi-threading
>  MULTI_CPPFLAGS_POSIX   = -D_REENTRANT
>  MULTI_CPPFLAGS_SOLARIS = 
> 
> 
> ------------------------------------------------------------------------
> 
> 2006-12-06  Andrew Black  <ablack@roguewave.com>
> 
> 	* GNUmakefile (LDFLAGS.{lib,bin,exm,ph,rwt,tst}): Append FOO.share or FOO.static values,
depending on BUILDMODE.
> 	($(MAKEFILE_IN)): Echo LDFLAGS.{lib,bin,exm,ph,rwt,tst} into generated makefile.in
> 	* GNUmakefile.cfg (config): Translate '.' in makefile variables into '_' when generating
vars.sh.
> 	* GNUmakefile.lib (LDFLAGS): Append LDFLAGS.lib (with other additions).
> 	* GNUmakefile.bin (LDFLAGS): Append LDFLAGS.bin.
> 	* GNUmakefile.exm (LDFLAGS): Append LDFLAGS.exm.
> 	* GNUmakefile.ph (LDFLAGS): Append LDFLAGS.ph.
> 	* GNUmakefile.rwt (LDFLAGS): Append LDFLAGS.rwt.
> 	* GNUmakefile.tst (LDFLAGS): Append LDFLAGS.tst.
> 	* como.config (LDFLAGS.{lib,bin,exm,ph,rwt,tst}.share, LDFLAGS.{bin,exm,ph,tst}.static):
Define placeholders.
> 	* eccp.config  (LDFLAGS.{lib,bin,exm,ph,rwt,tst}.share, LDFLAGS.{bin,exm,ph,tst}.static):
Ditto.
> 	* reliant_cds.config (LDFLAGS.{lib,bin,exm,ph,rwt,tst}.share, LDFLAGS.{bin,exm,ph,tst}.static):
Ditto.
> 	* acc.config (SHARED_LDFLAGS): Move rpath flags from here ...
> 	(LDFLAGS.{bin,exm,ph,rwt,tst}.share): ... To here.
> 	(LDFLAGS.lib, LDFLAGS.{bin,exm,ph,tst}.static): Define placeholders.
> 	* gcc.config (SHARED_LDFLAGS): Move rpath flags from here ...
> 	(LDFLAGS.{bin,exm,ph,rwt,tst}.share): ... To here.
> 	(LDFLAGS.lib, LDFLAGS.{bin,exm,ph,tst}.static): Define placeholders.
> 	* icc.config (SHARED_LDFLAGS): Move rpath flags from here ...
> 	(LDFLAGS.{bin,exm,ph,rwt,tst}.share): ... To here.
> 	(LDFLAGS.lib, LDFLAGS.{bin,exm,ph,tst}.static): Define placeholders.
> 	* sunpro.config (SHARED_LDFLAGS): Move rpath flags from here ...
> 	(LDFLAGS.{bin,exm,ph,rwt,tst}.share): ... To here.
> 	(LDFLAGS.lib, LDFLAGS.{bin,exm,ph,tst}.static): Define placeholders.
> 	* mipspro.config (SHARED_LDFLAGS): Move rpath flags from here ...
> 	(LDFLAGS.{bin,exm,ph,rwt,tst}.share): ... To here.
> 	(LDFLAGS.lib, LDFLAGS.{bin,exm,ph,tst}.static): Define placeholders.
> 	* osf_cxx.config (SHARED_LDFLAGS): Move rpath flags from here ...
> 	(LDFLAGS.{bin,exm,ph,rwt,tst}.share): ... To here.
> 	(LDFLAGS.lib, LDFLAGS.{bin,exm,ph,tst}.static): Define placeholders.
> 	* vacpp.config (SHARED_LDFLAGS): Move rpath flags from here ...
> 	(LDFLAGS.{bin,exm,ph,rwt,tst}.share): ... To here.
> 	(LDFLAGS.lib, LDFLAGS.{bin,exm,ph,tst}.static): Define placeholders.


Mime
View raw message