--- /dev/null
+XCOMM $XConsortium: ibmLib.rules /main/15 1996/12/30 16:06:05 kaleb $
+
+/*
+ * AIX shared library rules
+ */
+
+#ifndef HasSharedLibraries
+# define HasSharedLibraries YES
+#endif
+#ifndef ForceNormalLib
+# define ForceNormalLib NO
+#endif
+#ifndef SharedDataSeparation
+# define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+# define SharedCodeDef -DSHAREDCODE
+#endif
+#ifndef SharedLibraryDef
+# define SharedLibraryDef -DAIXSHLIB
+#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 -blibpath:$(USRLIBDIRPATH):/usr/lib/threads:/usr/lib:/lib
+# else
+# define LdPostLib -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 < 4
+/*
+ * SharedDSLibReferences - 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
+
+# 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
+
+/*
+ * 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
+# define InstallSharedLibrary(libname,rev,dest) @@\
+InstallLibrary(libname,dest)
+#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 < 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
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+# define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryTarget */