Edit

IABSD.fr/xenocara/util/cf/ibmLib.rules

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2006-11-25 16:15:45
    Hash : 782466d3
    Message : import from X.Org 7.2RC2

  • util/cf/ibmLib.rules
  • XCOMM $Xorg: ibmLib.rules,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
    XCOMM $XdotOrg: util/cf/ibmLib.rules,v 1.2 2004/04/23 18:41:58 eich Exp $
    
    /*
     * AIX shared library rules
     */
    
    XCOMM $XFree86: xc/config/cf/ibmLib.rules,v 3.5 2000/02/13 06:15:18 dawes Exp $
    #ifndef HasSharedLibraries
    # define HasSharedLibraries YES
    #endif
    #ifndef ForceNormalLib
    # define ForceNormalLib NO
    #endif
    #ifndef SharedDataSeparation
    # define SharedDataSeparation NO
    #endif
    #ifndef SharedCodeDef
    # define SharedCodeDef -DSHAREDCODE
    #endif
    #if OSMajorVersion < 5
    # ifndef SharedLibraryDef
    #  define SharedLibraryDef -DAIXSHLIB
    # endif
    #else
    # define SharedLibraryDef /**/
    #endif
    #ifndef ShLibIncludeFile
    # define ShLibIncludeFile <ibmLib.tmpl>
    #endif
    #ifndef PositionIndependentCFlags
    # define PositionIndependentCFlags -bM\:SRE
    #endif
    #ifndef ExtraLoadFlags
    # define ExtraLoadFlags -bnodelcsect
    #endif
    #if !defined(LdPostLib) && !defined(UseInstalled) && OSMajorVersion > 3
    # if ThreadedX
    #  define LdPostLib -bnoipath -blibpath:$(USRLIBDIRPATH):/usr/lib/threads:/usr/lib:/lib
    # else
    #  define LdPostLib -bnoipath -blibpath:$(USRLIBDIRPATH):/usr/lib:/lib
    # endif
    # define SharedLibPostRef $(LDPOSTLIBS)
    #endif
    #ifndef SharedLibPostRef
    # define SharedLibPostRef $(LDPOSTLIBS)
    #endif
    #if ThreadedX
    # define BaseShLibReqs -lc_r -lm
    #else
    # define BaseShLibReqs -lc -lm
    #endif
    #ifndef UseExportLists
    # define UseExportLists YES
    #endif
    
    /*
     * MakeExportList - generate an export list file for linking libraries.
     */
    #ifndef MakeExportList
    # if UseExportLists
    #  define MakeExportList(libname,result) \
    	@-RemoveFile(result)						@@\
    	case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\	@@\
    		echo "#! $@ ($${shr4obj:-shr.o})" > result		@@\
    	if [ -f Concat(lib,libname.elist) ]; then \			@@\
    	    $(CPP) $(ALLINCLUDES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES) Concat(lib,libname.elist) | CppSedMagic > $@.list; \	@@\
    	    $(EXPORTLISTGEN) $@~ $@.list >> result; \			@@\
    	    RemoveFile($@.list); \					@@\
    	else \								@@\
    	    dump -g $@~ | sed -n -e 's/^[ 	]*[0-9][0-9]*[	 ]*\([^	 .][^	 ]*\)$$/\1/p' >> result; \	@@\
    	fi;
    # else
    #  define MakeExportList(libname,result) \
    	@-RemoveFile(result)						@@\
    	case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\	@@\
    		echo "#! $@ ($${shr4obj:-shr.o})" > result		@@\
    	dump -g $@~ | sed -n -e 's/^[ 	]*[0-9][0-9]*[	 ]*\([^	 .][^	 ]*\)$$/\1/p' >> result;
    # endif
    #endif /* MakeExportList */
    
    
    #if !defined(UseInstalled) && !defined(UseInstalledX11) \
        && !defined(UseImports) && !defined(ImportX11)
       /* we want this to be defined only when building X */
    
    # if OSMajorVersion < 5
    #  if OSMajorVersion < 4
    /*
     * SharedLibReferences - variables for shared libraries
     */
    
    #   ifndef SharedLibReferences
    #    define SharedLibReferences(varname,libname,libsource,revname,rev)	@@\
    Concat3(DEP,varname,LIB) = /**/						@@\
    Concat(varname,LIB) = _Use(Concat(-l,libname),Concat(libsource/lib,libname.a)) @@\
    LintLibReferences(varname,libname,libsource)
    #   endif
    
    #  else /* OSMajorVersion < 4 */
    
    #   ifndef SharedLibReferences
    #    define SharedLibReferences(varname,libname,libsource,revname,rev)	@@\
    Concat3(DEP,varname,LIB) = /**/						@@\
    Concat(varname,LIB) = _Use(Concat(-l,libname),Concat($(BUILDLIBDIR),/libname.imp) Concat3($(BUILDLIBDIR),/lib,libname.a)) @@\
    LintLibReferences(varname,libname,libsource)
    #   endif
    
    #  endif
    # else /* OSMajorVersion < 5 */
    
    #  ifndef SharedLibReferences
    #   define SharedLibReferences(varname,libname,libsource,revname,rev)	@@\
    Concat3(DEP,varname,LIB) = /**/						@@\
    Concat(varname,LIB) = _Use(Concat(-l,libname), Concat3($(BUILDLIBDIR),/lib,libname.so)) @@\
    LintLibReferences(varname,libname,libsource)
    #  endif
    
    # endif
    
    # if OSMajorVersion < 5
    #  if OSMajorVersion < 4
    /*
     * SharedFontLibReferences - shared font libraries
     */
    
    #   ifndef SharedFontLibReferences
    #    define SharedFontLibReferences()					@@\
    DEPFONTLIB = /**/							@@\
    FONTLIB = -L$(FREETYPELIBDIR) _Use(-lXfont,$(FONTLIBSRC)/libXfont.a)	@@\
    LintLibReferences(XFONT,Xfont,$(FONTLIBSRC))
    #   endif
    #  else
    #   ifndef SharedFontLibReferences
    #    define SharedFontLibReferences()					@@\
    DEPFONTLIB = /**/							@@\
    FONTLIB = -L$(FREETYPELIBDIR) _Use(-lXfont,$(BUILDLIBDIR)/font.imp) $(BUILDLIBDI)/libXfont.a)) @@\
    LintLibReferences(XFONT,Xfont,$(FONTLIBSRC))
    #   endif
    #  endif
    # else /* OSMajorVersion < 5 */
    #  ifndef SharedFontLibReferences
    #   define SharedFontLibReferences()					@@\
    DEPFONTLIB = /**/							@@\
    FONTLIB = -L$(FREETYPELIBDIR) _Use(-lXfont,$(BUILDLIBDI)/libXfont.so)) @@\
    LintLibReferences(XFONT,Xfont,$(FONTLIBSRC))
    #  endif
    
    # endif
    
    /*
     * SharedDSLibReferences - variables for shared libraries
     */
    # ifndef SharedDSLibReferences
    #  define SharedDSLibReferences(varname,libname,libsource,revname,rev)	@@\
    SharedLibReferences(varname,libname,libsource,revname,rev)
    # endif
    
    # if OSMajorVersion == 4
    /*
     * UnsharedLibReferences - variables for unshared libraries
     */
    #  ifndef UnsharedLibReferences
    #   define UnsharedLibReferences(varname,libname,libsource)		@@\
    Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/lib,$(BUILDLIBDIR)/lib,libname.a)	@@\
    Concat(varname,LIB) = _Use(Concat(-l,libname),Concat($(BUILDLIBDIR)/lib,libname.a))	@@\
    LintLibReferences(varname,libname,libsource)
    #  endif
    # endif
    
    #endif /* !defined(UseInstalled) && !defined(UseInstalledX11) ... */
    
    
    /*
     * InstallSharedLibrary - generate rules to install the shared library.
     */
    #ifndef InstallSharedLibrary
    # if OSMajorVersion < 5
    #  define InstallSharedLibrary(libname,rev,dest)			@@\
    InstallLibrary(libname,dest)
    # else /* OSMajorVersion < 5 */
    #  define InstallSharedLibrary(libname,rev,dest)			@@\
    install:: Concat(lib,libname.so)					@@\
    	MakeDir($(DESTDIR)dest)						@@\
    	$(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so) $(DESTDIR)dest
    # endif /* OSMajorVersion < 5 */
    #endif /* InstallSharedLibrary */
    
    /*
     * InstallSharedLibraryData - generate rules to install the shared library data
     */
    #ifndef InstallSharedLibraryData
    # define InstallSharedLibraryData(libname,rev,dest)
    #endif /* InstallSharedLibraryData */
    
    /*
     * SharedLibraryTarget - generate rules to create a shared library;
     * build it into a different name so that the we do not hose people by having
     * the library gone for long periods.
     *
     * IBM uses an unusual shared object file name (shr4.o) in some libraries. 
     * Duplicate this behavior to preserve compatibility with IBM's libraries.
     */
    #if OSMajorVersion < 5
    # if OSMajorVersion < 4
    
    #  ifndef SharedLibraryTarget
    #   define SharedLibraryTarget(libname,rev,solist,down,up)		@@\
    AllTarget(Concat(lib,libname.a))					@@\
    									@@\
    Concat(lib,libname.a):  solist $(UNSHAREDOBJS) $(EXTRALIBRARYDEPS)	@@\
    	$(RM) $@~ shr.o shr4.o						@@\
    	(cd down; $(AR) up/$@~ solist)					@@\
    	dump -g $@~ | sed -n -e 's/^[ 	]*[0-9][0-9]*[	 ]*\([^	 .][^	 ]*\)$$/\1/p' > $@.syms	@@\
    	$(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:$@.syms $(REQUIREDLIBS) BaseShLibReqs SharedLibPostRef	@@\
    	$(LN) shr.o shr4.o						@@\
    	$(RM) $@~							@@\
    	case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\	@@\
    		$(AR) $@~ $${shr4obj} shr.o $(UNSHAREDOBJS)		@@\
    	$(RM) $@.syms $@ shr.o shr4.o					@@\
    	$(MV) $@~ $@							@@\
    	LinkBuildLibrary($@)						@@\
    									@@\
    clean::									@@\
    	$(RM) Concat(lib,libname.a)
    #  endif /* SharedLibraryTarget */
    
    # else /* OSMajorVersion < 4 */
    
    #  ifndef SharedLibraryTarget
    #   define SharedLibraryTarget(libname,rev,solist,down,up)		@@\
    AllTarget(Concat(lib,libname.a))					@@\
    									@@\
    Concat(lib,libname.a):  solist $(UNSHAREDOBJS) $(EXTRALIBRARYDEPS)	@@\
    	RemoveFiles($@~ shr.o shr4.o)					@@\
    	(cd down; $(AR) up/$@~ solist)					@@\
    	MakeExportList(libname,libname.imp)				@@\
    	$(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:libname.imp -bnoentry $(REQUIREDLIBS) BaseShLibReqs $(LDPOSTLIBS)	@@\
    	$(LN) shr.o shr4.o						@@\
    	RemoveFile($@~)							@@\
    	case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\	@@\
    		$(AR) $@~ $${shr4obj} shr.o $(UNSHAREDOBJS)		@@\
    	RemoveFile($@)							@@\
    	$(MV) $@~ $@							@@\
    	LinkBuildLibrary($@)						@@\
    	LinkBuildLibrary(libname.imp)					@@\
    									@@\
    clean::									@@\
    	$(RM) Concat(lib,libname.a)
    #  endif /* SharedLibraryTarget */
    # endif /* OSMajorVersion < 4 */
    #else /* OSMajorVersion < 5 */
    # ifndef SharedLibraryTarget
    #  define SharedLibraryTarget(libname,rev,solist,down,up)		@@\
    AllTarget(Concat(lib,libname.so))					@@\
    									@@\
    Concat(lib,libname.so): solist $(EXTRALIBRARYDEPS)			@@\
    	$(RM) $@~							@@\
    	$(AR) $*.a solist						@@\
    	dump -g $*.a | sed -n -e 's/^[  ]*[0-9][0-9]*[[:space:]]*\([_[:alpha:]][[:alnum:]]*\)/\1/p' | egrep -v \\\. | sort | uniq > $*.syms	@@\
    	$(LD) -bnoipath -bnoentry -bM\:SRE -bE\:$*.syms -o $@~ solist $(REQUIREDLIBS) BaseShLibReqs -lc	@@\
    	$(RM) $@ $*.a $*.syms						@@\
    	$(MV) $@~ $@							@@\
    	LinkBuildLibrary($@)						@@\
    									@@\
    clean::									@@\
    	$(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
    
    # endif /* SharedLibraryTarget */
    #endif /* OSMajorVersion < 5 */
    
    /*
     * SharedDepLibraryTarget - generate rules to create a shared library.
     */
    #if OSMajorVersion < 5
    # if OSMajorVersion < 4
    
    #  ifndef SharedDepLibraryTarget
    #   define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up)	@@\
    AllTarget(Concat(lib,libname.a))					@@\
    									@@\
    Concat(lib,libname.a):  deplist $(UNSHAREDOBJS) $(EXTRALIBRARYDEPS)	@@\
    	$(RM) $@~ shr.o shr4.o						@@\
    	(cd down; $(AR) up/$@~ solist)					@@\
    	dump -g $@~ | sed -n -e 's/^[   ]*[0-9][0-9]*[   ]*\([^  .][^    ]*\)$$/\1/p' > $@.syms	@@\
    	$(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:$@.syms $(REQUIREDLIBS) BaseShLibReqs SharedLibPostRef	@@\
    	$(LN) shr.o shr4.o						@@\
    	$(RM) $@~							@@\
    	case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\	@@\
    		$(AR) $@~ $${shr4obj} shr.o $(UNSHAREDOBJS)		@@\
    	$(RM) $@.syms $@ shr.o shr4.o					@@\
    	$(MV) $@~ $@							@@\
    	LinkBuildLibrary($@)						@@\
    									@@\
    clean::									@@\
    	$(RM) Concat(lib,libname.a)
    #  endif /* SharedDepLibraryTarget */
    
    # else /* OSMajorVersion < 4 */
    
    #  ifndef SharedDepLibraryTarget
    #   define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up)	@@\
    AllTarget(Concat(lib,libname.a))					@@\
    									@@\
    Concat(lib,libname.a):  deplist $(UNSHAREDOBJS) $(EXTRALIBRARYDEPS)	@@\
    	RemoveFiles($@~ shr.o shr4.o)					@@\
    	(cd down; $(AR) up/$@~ solist)					@@\
    	MakeExportList(libname,libname.imp)				@@\
    	$(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:libname.imp -bnoentry $(REQUIREDLIBS) BaseShLibReqs $(LDPOSTLIBS)	@@\
    	$(LN) shr.o shr4.o						@@\
    	RemoveFile($@~)							@@\
    	case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\	@@\
    		$(AR) $@~ $${shr4obj} shr.o $(UNSHAREDOBJS)		@@\
    	RemoveFile($@)							@@\
    	$(MV) $@~ $@							@@\
    	LinkBuildLibrary($@)						@@\
    	LinkBuildLibrary(libname.imp)					@@\
    									@@\
    clean::									@@\
    	$(RM) Concat(lib,libname.a)
    #  endif /* SharedDepLibraryTarget */
    
    # endif /* OSMajorVersion < 4 */
    #else /* OSMajorVersion < 5 */
    # ifndef SharedDepLibraryTarget
    #  define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up)	@@\
    AllTarget(Concat(lib,libname.so))					@@\
    									@@\
    Concat(lib,libname.so):  deplist $(EXTRALIBRARYDEPS)			@@\
    	$(RM) $@~							@@\
    	$(AR) $*.a solist						@@\
    	dump -g $*.a | sed -n -e 's/^[  ]*[0-9][0-9]*[[:space:]]*\([_[:alpha:]][[:alnum:]]*\)/\1/p' | egrep -v \\\. | sort | uniq > $*.syms	@@\
    	$(LD) -bnoipath -bnoentry -bsymbolic -bM\:SRE -bE\:$*.syms -o $@~ solist $(REQUIREDLIBS) BaseShLibReqs -lc	@@\
    	$(RM) $@ $*.a $*.syms						@@\
    	$(MV) $@~ $@							@@\
    	LinkBuildLibrary($@)						@@\
    									@@\
    clean::									@@\
    	$(RM) Concat(lib,libname.so) Concat(lib,libname.so)
    
    # endif /* SharedDepLibraryTarget */
    #endif /* OSMajorVersion < 5 */
    
    /*
     * SharedLibraryDataTarget - generate rules to create shlib data file;
     */
    #ifndef SharedLibraryDataTarget
    # define SharedLibraryDataTarget(libname,rev,salist)
    #endif /* SharedLibraryTarget */