blob: b797b2588d1db51c9f513f07bae302734c9049dd [file] [log] [blame]
--- sunLib.rules.orig 2008-12-18 13:43:19.032933408 +0100
+++ sunLib.rules 2008-12-18 13:51:12.494555406 +0100
@@ -7,127 +7,268 @@
XCOMM $XFree86: xc/config/cf/sunLib.rules,v 1.3 2001/01/17 16:38:49 dawes Exp $
#ifndef HasSharedLibraries
-#define HasSharedLibraries YES
+# define HasSharedLibraries YES
#endif
-#ifndef SharedDataSeparation
-#define SharedDataSeparation YES
+#ifndef ForceNormalLib
+# define ForceNormalLib NO
#endif
-#ifndef SharedCodeDef
-#define SharedCodeDef -DSHAREDCODE
-#endif
-#ifndef SharedLibraryDef
-#define SharedLibraryDef -DSUNSHLIB
-#endif
-#ifndef ShLibIncludeFile
-#define ShLibIncludeFile <sunLib.tmpl>
-#endif
-#ifndef SharedLibraryLoadFlags
-#define SharedLibraryLoadFlags -assert pure-text
-#endif
-#ifndef PositionIndependentCFlags
-#if HasGcc2
-#define PositionIndependentCFlags -fPIC
-#else
-#define PositionIndependentCFlags -pic
+
+#ifndef UseRpath
+#define UseRpath NO
#endif
+
+#ifndef SharedOldX
+# define SharedOldX NO
#endif
-#ifndef PositionIndependentCplusplusFlags
-#if HasGcc2ForCplusplus
-#define PositionIndependentCplusplusFlags -fPIC
+# ifndef SharedDataSeparation
+# define SharedDataSeparation NO
+# endif
+# ifndef SharedCodeDef
+# define SharedCodeDef /**/
+# endif
+# ifndef SharedLibraryDef
+# define SharedLibraryDef /**/
+# endif
+# ifndef ShLibIncludeFile
+# define ShLibIncludeFile <sunLib.tmpl>
+# endif
+#ifndef RpathLoadFlags
+#if UseRpath
+#define RpathLoadFlags -R$(USRLIBDIRPATH)
#else
-#define PositionIndependentCplusplusFlags -pic
+#define RpathLoadFlags /**/
#endif
#endif
-
-/*
- * SharedDSLibDependencies - shared library dependencies with data separation
- */
-#ifndef SharedDSLibDependencies
-#define SharedDSLibDependencies(libname,libsource,revname) _UseCat($(USRLIBDIR)/lib,libsource/lib,libname.sa.$(revname))
+#ifndef LibraryRpathLoadFlags
+#define LibraryRpathLoadFlags RpathLoadFlags
#endif
+# ifndef SharedLibraryLoadFlags
+# define SharedLibraryLoadFlags -shared
+# endif
+# ifndef PositionIndependentCFlags
+# define PositionIndependentCFlags -fPIC
+# endif
+# ifndef PositionIndependentCplusplusFlags
+# define PositionIndependentCplusplusFlags -fPIC
+# endif
+# ifndef ExtraLoadFlags
+# if LinuxBinUtilsMajorVersion >= 26
+# ifdef UseInstalled
+# if LinuxBinUtilsMajorVersion < 27
+# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(USRLIBDIRPATH)
+# endif
+# else
+# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(BUILDLIBDIR)
+# endif
+# else
+# define ExtraLoadFlags RpathLoadFlags
+# endif
+# endif
+# ifndef HardCodeLibdirFlag
+# define HardCodeLibdirFlag RpathLoadFlags
+# endif
+# if !defined(ShlibGlobalsFlags)
+# define ShlibGlobalsFlags -Wl,-Bsymbolic
+# endif
/*
* InstallSharedLibrary - generate rules to install the shared library.
+ * NOTE: file must be executable, hence "INSTBINFLAGS"
*/
-#ifndef InstallSharedLibrary
-#define InstallSharedLibrary(libname,rev,dest) @@\
-InstallTarget(install,Concat(lib,libname.so.rev),$(INSTLIBFLAGS),dest)
-#endif /* InstallSharedLibrary */
+# ifndef InstallSharedLibrary
+# define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
+ @T=`echo Concat($(DESTDIR)dest/lib,libname.so.rev) | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`;\
+ set -x; $(RM) $$T && $(LN) Concat(lib,libname.so.rev) $$T @@\
+ @if $(SOSYMLINK); then (set -x; \
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so); \ @@\
+ $(LN) Concat(lib,libname.so.rev) Concat($(DESTDIR)dest/lib,libname.so)); fi
+# endif /* InstallSharedLibrary */
+
+# ifndef InstallSharedLibtoolLibrary
+
+# define SetRevisions(rev) V=`expr rev : '\([^:]*\)'`; \ @@\
+ R=`expr rev : '.*:\([^:]*\):'`; \ @@\
+ A=`expr rev : '.*:\([^:]*\)'`; \ @@\
+ MAJ=`expr $$V - $$A`; \ @@\
+ MIN=$$A.$$R
+
+# define InstallSharedLibtoolLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ @set +e; SetRevisions(rev); \ @@\
+ set -xe; \ @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so.$$MAJ.$$MIN) $(DESTDIR)dest; \ @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so.$$MAJ); \ @@\
+ $(LN) Concat(lib,libname.so.$$MAJ.$$MIN) Concat($(DESTDIR)dest/lib,libname.so.$$MAJ); \ @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so); \ @@\
+ $(LN) Concat(lib,libname.so.$$MAJ.$$MIN) Concat($(DESTDIR)dest/lib,libname.so)
+# endif /* InstallSharedLibrary */
/*
* InstallSharedLibraryData - generate rules to install the shared library data
*/
-#ifndef InstallSharedLibraryData
-#define InstallSharedLibraryData(libname,rev,dest) @@\
-install:: Concat(lib,libname.sa.rev) @@\
- MakeDir($(DESTDIR)dest) @@\
- $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.sa.rev) $(DESTDIR)dest @@\
- RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,libname.sa.rev))
-#endif /* InstallSharedLibraryData */
-
-#if HasPurify
-#define PureCleanSharedLibrary(libname,rev) @@\
-clean clean.pure:: @@\
- $(RM) Concat3(lib,libname,_pure_*.so.rev)
-#else
-#define PureCleanSharedLibrary(libname,rev) /**/
-#endif
+# 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 we do not hose people by having
* the library gone for long periods.
*/
-#ifndef SharedLibraryTarget
-#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+# ifndef SharedLibraryTarget
+# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
AllTarget(Concat(lib,libname.so.rev)) @@\
@@\
Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
$(RM) $@~ @@\
- (cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\
+ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; (set -x; \ @@\
+ cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS)) || exit 1; \ @@\
+ (set -x; $(RM) $$SONAME; $(LN) $@ $$SONAME); \ @@\
+ LinkBuildSonameLibrary($$SONAME) @@\
$(RM) $@ @@\
$(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
@@\
clean:: @@\
- $(RM) Concat(lib,libname.so.rev) @@\
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) Concat(lib,libname.so.$$MAJREV) @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+# endif /* SharedLibraryTarget */
+
+
+# ifndef SharedLibtoolLibraryTarget
+# define SharedLibtoolLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so)) @@\
+ @@\
+Concat(lib,libname.so): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ @set +e; SetRevisions(rev); set -e; \ @@\
+ SONAME=$@.$$MAJ; \ @@\
+ (set -x; \ @@\
+ $(RM) $@.$$MAJ.$$MIN~; \ @@\
+ cd down; $(CC) -o up/$@.$$MAJ.$$MIN~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS)) || exit 1; \ @@\
+ (set -x; \ @@\
+ $(RM) $$SONAME; $(LN) $@.$$MAJ.$$MIN $$SONAME); \ @@\
+ LinkBuildSonameLibrary($$SONAME); \ @@\
+ (set -x; \ @@\
+ $(RM) $@.$$MAJ.$$MIN; \ @@\
+ $(MV) $@.$$MAJ.$$MIN~ $@.$$MAJ.$$MIN; \ @@\
+ $(RM) $@; \ @@\
+ $(LN) $@.$$MAJ.$$MIN $@); \ @@\
+ LinkBuildLibraryInline($@.$$MAJ.$$MIN); \ @@\
+ LinkBuildLibraryInline($@) @@\
@@\
-PureCleanSharedLibrary(libname,rev)
-#endif /* SharedLibraryTarget */
+clean:: @@\
+ @set +e; SetRevisions(rev); \ @@\
+ set -xe; \ @@\
+ $(RM) Concat(lib,libname.so.$$MAJ); \ @@\
+ $(RM) Concat(lib,libname.so.$$MAJ.$$MIN) @@\
+ $(RM) Concat(lib,libname.so)
+
+# endif /* SharedLibtoolLibraryTarget */
/*
* SharedDepLibraryTarget - generate rules to create a shared library.
*/
-#ifndef SharedDepLibraryTarget
-#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+# ifndef SharedDepLibraryTarget
+# define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
AllTarget(Concat(lib,libname.so.rev)) @@\
@@\
Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
$(RM) $@~ @@\
- (cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\
+ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\
+ (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS)); \ @@\
+ $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\
+ LinkBuildSonameLibrary($$SONAME) @@\
$(RM) $@ @@\
$(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
@@\
clean:: @@\
- $(RM) Concat(lib,libname.so.rev) @@\
- @@\
-PureCleanSharedLibrary(libname,rev)
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) Concat(lib,libname.so.$$MAJREV) @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
#endif /* SharedDepLibraryTarget */
/*
- * SharedLibraryDataTarget - generate rules to create shlib data file;
+ * SharedDepCplusplusLibraryTarget - generate rules to create a shared library.
*/
-#ifndef SharedLibraryDataTarget
-#define SharedLibraryDataTarget(libname,rev,salist) @@\
-AllTarget(Concat(lib,libname.sa.rev)) @@\
+#ifndef SharedDepCplusplusLibraryTarget
+#define SharedDepCplusplusLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
@@\
-Concat(lib,libname.sa.rev): salist @@\
- $(RM) $@ @@\
- $(AR) $@ salist @@\
- RanLibrary($@) @@\
+Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\
+ (cd down; $(CXX) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS)); \ @@\
+ $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\
+ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
@@\
clean:: @@\
- $(RM) Concat(lib,libname.sa.rev)
-#endif /* SharedLibraryDataTarget */
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) Concat(lib,libname.so.$$MAJREV) @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* SharedDepCplusplusLibraryTarget */
+
+# ifndef SharedDepModuleTarget
+# define SharedDepModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(RM) $@~ @@\
+ $(CC) -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) name
+
+# endif /* SharedDepModuleTarget */
+
+# ifndef SharedDriModuleTarget
+# define SharedDriModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(RM) $@~ $@.map @@\
+ @(echo 'DRI_MODULE { global: __dri*; local: *; };' > $@.map) @@\
+ $(CC) -o $@~ -Wl,--version-script=$@.map $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) @@\
+ $(RM) $@ $@.map @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) name @@\
+ $(RM) name.map
+
+# endif /* SharedDriModuleTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+# ifndef SharedLibraryDataTarget
+# define SharedLibraryDataTarget(libname,rev,salist)
+# endif /* SharedLibraryTarget */
+
--- sunLib.tmpl.orig 2008-12-18 13:43:14.856762538 +0100
+++ sunLib.tmpl 2008-12-18 13:53:25.489781023 +0100
@@ -7,252 +7,71 @@
XCOMM $XFree86: xc/config/cf/sunLib.tmpl,v 3.12tsi Exp $
-/*
- * SunOS shared library template
- */
-
-#if OSMajorVersion <= 4
-
-# if SunPost411FCSLd
-# define SharedXmuReqs $(LDPRELIBS) $(XTOOLLIB) $(XLIB)
-# define SharedXrenderReqs $(LDPRELIB) $(XLIB)
-# endif
-
-#ifndef SharedX11Rev
-#define SharedX11Rev 4.30
-#endif
-#ifndef SharedOldXRev
-#define SharedOldXRev 4.20
-#endif
-#ifndef SharedXtRev
-#define SharedXtRev 4.20
-#endif
-#ifndef SharedXawRev
-#define SharedXawRev 6.10
-#endif
-#ifndef SharedXmuRev
-#define SharedXmuRev 4.20
-#endif
-#ifndef SharedXextRev
-#define SharedXextRev 4.50
-#endif
-#ifndef SharedXiRev
-#define SharedXiRev 4.20
-#endif
-#ifndef SharedXtstRev
-#define SharedXtstRev 1.20
-#endif
-
-#else /* else it's Solaris */
-
-/* Solaris uses single digit library versions, and versions of libraries
- * defined in SVID specs should match the versions specified there.
- */
-
-#ifndef SharedX11Rev
-# define SharedX11Rev 4
-#endif
-#ifndef SharedOldXRev
-# define SharedOldXRev 6
-#endif
-#ifndef SharedXextRev
-# define SharedXextRev 0
-#endif
-#ifndef SharedXauRev
-# define SharedXauRev 6
-#endif
-#ifndef SharedXdmcpRev
-# define SharedXdmcpRev 6
-#endif
-#ifndef SharedXmuRev
-# define SharedXmuRev 4
-#endif
-#ifndef SharedXmuuRev
-# define SharedXmuuRev 1
-#endif
-#ifndef SharedXpRev
-# define SharedXpRev 1
-#endif
-#ifndef SharedXpmRev
-# define SharedXpmRev 4
-#endif
-#ifndef SharedXtRev
-# define SharedXtRev 4
-#endif
-#ifndef SharedXaw6Rev
-# define SharedXaw6Rev 5
-#endif
-#ifndef SharedXiRev
-# define SharedXiRev 5
-#endif
-#ifndef SharedXtstRev
-# define SharedXtstRev 1
-#endif
-#ifndef SharedFSRev
-# define SharedFSRev 5
-#endif
-#ifndef SharedICERev
-# define SharedICERev 6
-#endif
-#ifndef SharedSMRev
-# define SharedSMRev 6
-#endif
-#ifndef SharedXcursor
-# define SharedXcursorRev 1
-#endif
-#ifndef SharedXdamageRev
-# define SharedXdamageRev 1
-#endif
-#ifndef SharedXevieRev
-# define SharedXevieRev 1
-#endif
-#ifndef SharedXfixesRev
-# define SharedXfixesRev 1
-#endif
-#ifndef SharedXftRev
-# define SharedXftRev 2
-#endif
-#ifndef SharedXineramaRev
-# define SharedXineramaRev 1
-#endif
-#ifndef SharedXrenderRev
-# define SharedXrenderRev 1
-#endif
-#ifndef SharedXResRev
-# define SharedXResRev 1
-#endif
-#ifndef SharedXvRev
-# define SharedXvRev 1
-#endif
-#ifndef SharedXvMCRev
-# define SharedXvMCRev 1
-#endif
-#ifndef SharedXrandrRev
-# define SharedXrandrRev 2
-#endif
-#ifndef SharedXssRev
-# define SharedXssRev 1
-#endif
-#ifndef SharedFontconfigRev
-# define SharedFontconfigRev 1
-#endif
-#ifndef SharedGlxRev
-# define SharedGlxRev 1
-#endif
-#ifndef SharedGluRev
-# define SharedGluRev 1
-#endif
-#ifndef SharedGLwRev
-# define SharedGLwRev 1
-#endif
-#ifndef SharedOSMesaRev
-# define SharedOSMesaRev 4
-#endif
-#ifndef SharedxkbfileRev
-# define SharedxkbfileRev 5
-#endif
-#ifndef SharedXxf86miscRev
-# define SharedXxf86miscRev 1
-#endif
-#ifndef SharedXxf86vmRev
-# define SharedXxf86vmRev 1
-#endif
-
-# if ThreadedX
-# if OSMinorVersion > 3
-# define SharedThreadReqs /**/
-# endif
-# endif
-
-# define SharedX11Reqs $(LDPRELIB) SharedThreadReqs $(EXTRA_LIBRARIES) -lc DlLibrary
-# define SharedXlibi18nReqs $(LDPRELIB) $(XLIBONLY) -lc
-# define SharedOldXReqs $(LDPRELIB) $(XLIBONLY) -lc
-# define SharedXtReqs $(LDPRELIB) $(XLIBONLY) $(SMLIB) $(ICELIB) -lc
-# define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB) -lc
-# define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB) -lc
-# define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB) -lc
-# define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB) -lnsl -lc
-# define SharedXmuuReqs $(LDPRELIB) $(XLIBONLY) -lc
-# define SharedXextReqs $(LDPRELIB) $(XLIBONLY) -lc
-# define SharedXiReqs $(LDPRELIB) $(XLIB) -lc
-# define SharedXtstReqs $(LDPRELIB) $(XLIB) -lc
-# define SharedFSReqs $(EXTRA_LIBRARIES) -lc
-# define SharedICEReqs $(EXTRA_LIBRARIES) -lc
-# define SharedSMReqs $(LDPRELIB) $(ICELIB) $(EXTRA_LIBRARIES) -lc
-# define SharedXineramaReqs $(LDPRELIB) $(XLIB) -lc
-# define SharedXpReqs $(LDPRELIB) $(XLIB) -lc
-# define SharedXpmReqs $(LDPRELIB) $(XLIBONLY) -lc
-# define SharedXResReqs $(LDPRELIB) $(XLIB) -lc
-# define SharedXrenderReqs $(LDPRELIB) $(XLIBONLY) -lc
-# define SharedXrandrReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB) -lc
-# define SharedXssReqs $(LDPRELIB) $(XLIB) -lc
-# define SharedXvReqs $(LDPRELIB) $(XLIB) -lc
-# define SharedXvMCReqs $(LDPRELIB) $(XLIB) -lc
-# define SharedXfontReqs $(LDPRELIB) $(FREETYPE2LIB) GzipLibrary -lsocket MathLibrary -lc
-# define SharedXfontcacheReqs $(LDPRELIB) $(XLIB)
-# define SharedFontencReqs $(LDPRELIB) GzipLibrary -lc
-# define SharedXxf86dgaReqs $(LDPRELIB) $(XLIB) -lc
-# define SharedXxf86miscReqs $(LDPRELIB) $(XLIB) -lc
-# define SharedXxf86vmReqs $(LDPRELIB) $(XLIB) -lc
-# define SharedDPSReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIBONLY) $(EXTRA_LIBRARIES) -lc
-# define SharedDPSTKReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIBONLY) -lc
-# define SharedPSResReqs -lc
-# define SharedGLReqs $(LDPRELIB) $(XLIB) -lc
-# define SharedGLUReqs $(LDPRELIBS) $(XLIB) $(GLXLIB) $(CXXLIB) MathLibrary -lc
-# define SharedGLwReqs $(LDPRELIBS) $(MOTIFLIB) $(GLXLIB) $(XTOOLLIB) $(XLIB)
-# define SharedOSMesaReqs $(LDPRELIB) $(XLIB) $(GLXLIB) MathLibrary -lc
-# define SharedxkbfileReqs $(LDPRELIB) $(XONLYLIB) -lc
-# define SharedxkbuiReqs $(LDPRELIB) $(XKBFILELIB) $(XONLYLIB) MathLibrary -lc
-# define SharedXfixesReqs $(LDPRELIB) $(XLIB) -lc
-# define SharedXdamageReqs $(LDPRELIB) $(XLIB) -lc
-# define SharedXauReqs -lc
-# define SharedXdmcpReqs -lsocket -lc
-# define SharedXcompositeReqs $(LDPRELIB) $(XDAMAGELIB) $(XFIXESLIB) $(XLIB) -lc
-# define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XONLYLIB) -lc
-# define SharedXevieReqs $(LDPRELIB) $(XLIB)
-
-# define FixupLibReferences() /**/
-
-# define SharedPamReqs DlLibrary
-# define SharedPamUnixReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -lnsl -lmp -lcmd SharedThreadReqs
-# define SharedPamSampleReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) SharedThreadReqs
-# define SharedPamDialAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) SharedThreadReqs
-# define SharedPamRhostsAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -lsocket SharedThreadReqs
-# define SharedPamDceAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -ldce -lnsl -lsocket SharedThreadReqs
-# define SharedTtReqs -lnsl -lsocket -lintl DlLibrary -lc -lw
-# define SharedDtSvcReqs $(LDPRELIBS) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) SharedThreadReqs -lgen -lc -lsocket -lnsl DlLibrary
-# define SharedDtMmdbReqs $(LDPRELIBS) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) SharedThreadReqs -lgen -lc -lsocket -lnsl DlLibrary
-# define SharedDtSearchReqs -lm -lc
-# define SharedDtWidgetReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) -lintl $(LDPOSTLIBS) -lw -lm -lc
-# define SharedDtHelpReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) -lw -lgen -lm -lc
-# define SharedDtPrintReqs $(LDPRELIBS) $(DTSVCLIB) $(DTHELPLIB) $(XMLIB) -lintl $(LDPOSTLIBS) -lw -lm -lc
-# define SharedDtTermReqs SharedDtHelpReqs DlLibrary -lgen
-# define SharedDtMrmReqs $(LDPRELIBS) $(DTTERMLIB) $(DTPRINTLIB) $(DTHELPLIB) $(DTWIDGETLIB) $(MRESOURCELIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) -lw -lsocket -lnsl -lc
-# define SharedDtMailReqs $(LDPRELIBS) -lw $(CXXLIB) -lm DlLibrary
-# define SharedCsaReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXmReqs
-
-# define DtClientExtraLibs -lintl
-
-/* The inbuf paramter to iconv(3) is "const char**", not "char **" */
-ICONV_INBUF_DEFINE = -DICONV_INBUF_CONST=const
-
-# if HasCplusplus
-# if HasGcc2ForCplusplus
-UNSHARED_CXXLIB = -static -lC
-# elif HasSunCplusplus
-# if CplusplusCompilerMajorVersion > 3
-# ifdef CplusplusWhatdir
-UNSHARED_CXXLIB = -Bstatic -L`CplusplusWhatdir CC`/../lib -lC -Bdynamic
-# else
-UNSHARED_CXXLIB = -Bstatic -L/opt/SUNWspro/SC4.0/lib -lC -Bdynamic
-# endif
-# else
-UNSHARED_CXXLIB = -Bstatic -lC -Bdynamic -lm -lc -Bstatic
-# endif
-# endif
-# endif
-
-# define IafSysLib /**/
-# include <sv4Lib.tmpl>
+#ifndef FixupLibReferences
+#define FixupLibReferences() @@\
+XMULIBONLY = -lXmu @@\
+XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
+#endif
+
+#ifndef XawClientLibs
+#define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
+#endif
+
+#define SharedX11Reqs
+#define SharedXlibi18nReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedOldXReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXtReqs $(LDPRELIB) $(XONLYLIB) $(SMLIB) $(ICELIB)
+#define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+#define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB)
+#define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXmuuReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXextReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXiReqs $(LDPRELIB) $(XLIB)
+#define SharedXpReqs $(LDPRELIB) $(XLIB)
+#define SharedXpmReqs $(LDPRELIB) $(XLIB)
+#define SharedXrandrReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXrenderReqs $(LDPRELIB) $(XLIB)
+#define SharedXtstReqs $(LDPRELIB) $(XLIB)
+#define SharedXvReqs $(LDPRELIB) $(XLIB)
+#define SharedSMReqs $(LDPRELIB) $(ICELIB)
+#define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedFontencReqs $(LDPRELIB) GzipLibrary
+
+#if GlxUseBuiltInDRIDriver
+#define ExtraSharedGLReqs /**/
+#else
+#define ExtraSharedGLReqs -ldl
+#endif
+#define SharedGLReqs $(LDPRELIB) $(XLIB) ExtraSharedGLReqs
+#ifndef SharedGLUReqs
+#define SharedGLUReqs $(LDPRELIB) $(XLIB) $(GLXLIB)
+#endif
+#define SharedDPSReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+#define SharedDPSTKReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIB)
+#define SharedpsresReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+
+#define SharedXResReqs $(LDPRELIB) $(XLIB)
+#define SharedXfontcacheReqs $(LDPRELIB) $(XLIB)
+#define SharedXineramaReqs $(LDPRELIB) $(XLIB)
+#define SharedXssReqs $(LDPRELIB) $(XLIB)
+#define SharedXvMCReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86dgaReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86miscReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86vmReqs $(LDPRELIB) $(XLIB)
+#define SharedxkbfileReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedxkbuiReqs $(LDPRELIB) $(XKBFILELIB) $(XONLYLIB)
+
+#ifndef SharedXReqs
+# define SharedXReqs $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS)
+#endif
+
+#ifndef SharedXmReqs
+# define SharedXmReqs $(LDPRELIBS) SharedXReqs -lc
+#endif
+#ifndef SharedTtReqs
+# define SharedTtReqs $(LDPRELIBS) SharedXReqs $(CXXLIB)
#endif
+
+#define NoMessageCatalog