]> git.sesse.net Git - rdpsrv/blobdiff - Xserver/config/cf/ibmLib.rules
Import X server from vnc-3.3.7.
[rdpsrv] / Xserver / config / cf / ibmLib.rules
diff --git a/Xserver/config/cf/ibmLib.rules b/Xserver/config/cf/ibmLib.rules
new file mode 100644 (file)
index 0000000..d837cb7
--- /dev/null
@@ -0,0 +1,204 @@
+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 */