Files
cdesktop/cde/config/cf/bsdLib.rules
Lev Kujawski 1f52f5ca81 Avoid Global Offset Table (GOT) limits by enabling -fPIC on the BSDs.
config/cf/bsdLib.rules: Switch -fpic to -fPIC
lib/DtXinerama/Imakefile: Use $(PICFLAGS) instead of -fpic

Several tickets have been opened by users encountering the low 8KiB
GOT limit on SPARC systems running BSD. This change makes CDE builds
on BSD more consistent with those on Linux, where -fPIC has been the
default without any reported issues.
2021-06-02 19:56:26 -06:00

98 lines
3.0 KiB
Plaintext

XCOMM $XConsortium: bsdLib.rules /main/3 1996/09/28 16:09:18 rws $
/*
* NetBSD/FreeBSD shared library rules
*/
#ifndef HasSharedLibraries
#define HasSharedLibraries YES
#endif
#ifndef SharedDataSeparation
#define SharedDataSeparation NO
#endif
#ifndef SharedCodeDef
#define SharedCodeDef
#endif
#ifndef SharedLibraryDef
#define SharedLibraryDef -DBSDSHLIB
#endif
#ifndef ShLibIncludeFile
#define ShLibIncludeFile <bsdLib.tmpl>
#endif
#ifndef SharedLibraryLoadFlags
#define SharedLibraryLoadFlags -shared
#endif
#ifndef PositionIndependentCFlags
#define PositionIndependentCFlags -fPIC
#endif
/*
* InstallSharedLibrary - generate rules to install the shared library.
*/
#ifndef InstallSharedLibrary
#define InstallSharedLibrary(libname,rev,dest) @@\
install:: Concat(lib,libname.so.rev) @@\
MakeDir($(DESTDIR)dest) @@\
$(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
$(LN) Concat(lib,libname.so.rev) Concat($(DESTDIR)dest/lib,libname.so)
#endif /* InstallSharedLibrary */
/*
* 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) @@\
AllTarget(Concat(lib,libname.so.rev)) @@\
@@\
Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
$(RM) $@~ @@\
(cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$@ solist $(REQUIREDLIBS)) @@\
$(RM) $@ @@\
$(MV) $@~ $@ @@\
$(RM) Concat(lib,libname.so) @@\
$(LN) $@ Concat(lib,libname.so) @@\
LinkBuildLibrary($@) @@\
(cd $(BUILDLIBDIR) && $(RM) Concat(lib,libname.so) && \
$(LN) $@ Concat(lib,libname.so)) @@\
@@\
clean:: @@\
$(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
#endif /* SharedLibraryTarget */
/*
* SharedLibraryDataTarget - generate rules to create shlib data file;
*/
#ifndef SharedLibraryDataTarget
#define SharedLibraryDataTarget(libname,rev,salist)
#endif /* SharedLibraryDataTarget */
#ifndef InstallSharedLibraryData
#define InstallSharedLibraryData(libname,rev,dest)
#endif /* InstallSharedLibraryData */
/*
* SharedLibReferences - variables for shared libraries
*/
#ifndef SharedLibReferences
#define SharedLibReferences(varname,libname,libsource,revname,rev) @@\
revname = rev @@\
Concat3(DEP,varname,LIB) = SharedLibDependencies(libname,libsource,revname) @@\
Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) @@\
LintLibReferences(varname,libname,libsource)
#endif
/*
* SharedDSLibReferences - variables for shared libraries
*/
#ifndef SharedDSLibReferences
#define SharedDSLibReferences(varname,libname,libsource,revname,rev) @@\
revname = rev @@\
Concat3(DEP,varname,LIB) = SharedDSLibDependencies(libname,libsource,revname) @@\
Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) Concat3(Shared,libname,Reqs) @@\
LintLibReferences(varname,libname,libsource)
#endif