Files
xsrc/xfree/xc/programs/xrx/plugin/Imakefile

224 lines
7.5 KiB
Plaintext

XCOMM $XFree86: xc/programs/xrx/plugin/Imakefile,v 1.15 2004/06/01 00:17:08 dawes Exp $
/*
* Copyright (c) 1994-2004 by The XFree86 Project, Inc.
* All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject
* to the following conditions:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions, and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer
* in the documentation and/or other materials provided with the
* distribution, and in the same place and form as other copyright,
* license and disclaimer information.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment: "This product
* includes software developed by The XFree86 Project, Inc
* (http://www.xfree86.org/) and its contributors", in the same
* place and form as other third-party acknowledgments. Alternately,
* this acknowledgment may appear in the software itself, in the
* same form and location as other such third-party acknowledgments.
*
* 4. Except as contained in this notice, the name of The XFree86
* Project, Inc shall not be used in advertising or otherwise to
* promote the sale, use or other dealings in this Software without
* prior written authorization from The XFree86 Project, Inc.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE XFREE86 PROJECT, INC OR ITS CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
* OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#if HasSharedLibraries
XCOMM This isn't an option we must build a shared lib
#define DoSharedLib YES
#define LibHeaders NO
#define LibName xrx
#define SoRev SOXRXREV
SharedLibReferences(xrx,xrx,$(RXSRC),SOXRXREV,6.3)
RXSRC = ../rx
RX_INCLUDES = -I$(RXSRC)
#if HasBSD44Sockets
SOCKET_DEFINES = -DBSD44SOCKETS
#endif
/* Netscape be damned. Allow fresh (re-)installs to proceed correctly */
#if UseInstalledX11
#ifdef SGIArchitecture
#if OSMajorVersion == 5 && OSMinorVersion < 3 || OSMajorVersion == 6 && OSMinorVersion < 2
XT_DEFINES = -DXUSE_XTREGISTERWINDOW
#endif
/* Even though we want to build the distribution with -n32, Navigator 3.0
* binaries are still built on IRIX 5.2, which means we need to use the
* old style object format. This is a hack because this Imakefile gets
* included too late to do this properly, that is to say that the
* CCOPTIONS in Imake.tmpl gets the -n32 options that we don't want,
* but the CCOPTIONS in Library.tmpl does get set correctly, and over-
* rides the value. So it works, but it's not pretty.
*/
#undef sgiCCOptions
#define sgiCCOptions -xansi
#ifdef Mips64Architecture
SHLIBLDFLAGS = -shared
#endif
LD = ld
#endif
#ifdef SunArchitecture
VENDOR_INCLUDES = -I/usr/openwin/include
#if OSMajorVersion < 5 || OSMajorVersion == 5 && OSMinorVersion < 6
XT_DEFINES = -DXUSE_XTREGISTERWINDOW
#endif
#if !HasGcc
/*
* Based on Xmd.h 2.6 appears to be no more than R6pl11, so we need this.
* Hopefully Sun will fix this in 2.7.
*/
#undef DefaultCCOptions
#define DefaultCCOptions -Xc
#endif
#if OSMajorVersion == 4
FUNCPROTO_DEFINES = -DXFUNCPROTO_NOT_AVAILABLE
#endif
#endif
#ifdef HPArchitecture
/* Even though HP ships R6 in 10.20, Netscape 3.x is built on HPUX 9 and is
* linked against X11R5 libraries, so we continue to use _XtRegisterWindow
* until such time as Netscape releases a version that is linked with X11R6.
*/
XT_DEFINES = -DXUSE_XTREGISTERWINDOW
#if OSMajorVersion < 10 || (OSMajorVersion == 10 && OSMinorVersion < 2)
TOP_INCLUDES = -I/usr/include -I$(BUILDINCDIR)
#else
TOP_INCLUDES = -I/usr/include/X11R5 -I$(BUILDINCDIR)
#endif
#endif
#if defined(AlphaArchitecture) && defined(OSF1Architecture)
#if OSMajorVersion < 4
XT_DEFINES = -DXUSE_XTREGISTERWINDOW
#endif
#endif
#ifdef IBMArchitecture
/* No clue when IBM might ship R6 */
XT_DEFINES = -DXUSE_XTREGISTERWINDOW
#endif
#endif /* UseInstalledX11 */
PLUGIN_DEFINES = -DXP_UNIX
PLUGIN_INCLUDES = -I./include
DEFINES = StrcasecmpDefines -DNETSCAPE_PLUGIN $(PLUGIN_DEFINES) $(XT_DEFINES) $(SOCKET_DEFINES) $(FUNCPROTO_DEFINES)
INCLUDES = -I. $(PLUGIN_INCLUDES) $(RX_INCLUDES) $(VENDOR_INCLUDES)
PARAMS_SRCS = PRead.c PParse.c BuildReq.c
PARAMS_OBJS = PRead.o PParse.o BuildReq.o
XMISC_SRCS = XUrls.c XAuth.c XDpyName.c Prefs.c
XMISC_OBJS = XUrls.o XAuth.o XDpyName.o Prefs.o
SRCS = Main.c SetWin.c PProcess.c NewNDest.c Global.c stubs.c \
$(PARAMS_SRCS) $(XMISC_SRCS)
OBJS = Main.o SetWin.o PProcess.o NewNDest.o Global.o stubs.o \
$(PARAMS_OBJS) $(XMISC_OBJS)
#if UseInstalledX11
XCOMM we need to link in the right libraries so it will work no matter
XCOMM which libraries Netscape itself is using.
#if !VendorHasX11R6_3libXext
X11R6_3_EXTENSIONS = ../libxplugin/libxplugin.a
#ifdef SunArchitecture
PLUGIN_LDOPTIONS = -L/usr/openwin/lib
CCENVSETUP =
#if OSMajorVersion == 5 && OSMinorVersion > 5
RXICELIB = $(ICELIB)
#endif
#if OSMajorVersion == 4
EXTENSIONLIB =
#endif
#endif
#ifdef HPArchitecture
#if OSMajorVersion < 10 || (OSMajorVersion == 10 && OSMinorVersion < 2)
LDPRELIBS = -L/usr/lib/X11
#else
LDPRELIBS = -L/usr/lib/X11R5
#endif
#endif
#ifdef IBMArchitecture
XTOOLONLYLIB = -lXm -lXt
EXTENSIONLIB = -lXext
XONLYLIB = -lX11
RXICELIB = $(ICELIB)
LDPOSTLIBS =
LDPRELIBS =
#endif
#ifdef SequentArchitecture
RXICELIB = $(ICELIB)
XONLYLIB = -lX11 -lsocket
PLUGIN_LDOPTIONS = $(LDPRELIBS)
#endif
#else
PLUGIN_LDOPTIONS = $(LDPRELIBS)
#endif
/* Sun and HP don't ship it yet, SGI has it inside libXt. */
#if defined(AlphaArchitecture) && defined(OSF1Architecture)
RXICELIB = $(ICELIB)
#endif
#else /* UseInstalledX11 */
PLUGIN_LDOPTIONS = $(LDPRELIBS)
#endif /* UseInstalledX11 */
REQUIREDLIBS = $(X11R6_3_EXTENSIONS) $(PLUGIN_LDOPTIONS) $(RXICELIB) $(XTOOLONLYLIB) $(XLIB)
#include <Library.tmpl>
LinkFile(PRead.c,$(RXSRC)/PRead.c)
LinkFile(PParse.c,$(RXSRC)/PParse.c)
LinkFile(BuildReq.c,$(RXSRC)/BuildReq.c)
LinkFile(XUrls.c,$(RXSRC)/XUrls.c)
LinkFile(XAuth.c,$(RXSRC)/XAuth.c)
LinkFile(XDpyName.c,$(RXSRC)/XDpyName.c)
LinkFile(Prefs.c,$(RXSRC)/Prefs.c)
DependTarget()
InstallManPage(libxrx,$(MANDIR))
#ifdef IBMArchitecture
AllTarget(shr.o)
install::
$(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) shr.o $(DESTDIR)$(SHLIBDIR)/lib$(LIBNAME).so
$(RM) $(DESTDIR)$(SHLIBDIR)/lib$(LIBNAME).a
#endif
#endif /* HasSharedLibraries */