Fix for bug 5770. Thanks to lennox@cs.columbia.edu.

This commit is contained in:
briano%netscape.com 1999-05-05 23:38:15 +00:00
parent 51bf7982c7
commit 02869b2558
6 changed files with 63 additions and 24 deletions

View File

@ -159,6 +159,7 @@ WRAP_MALLOC_CFLAGS = @WRAP_MALLOC_CFLAGS@
BUILD_UNIX_PLUGINS = 1
DSO_CFLAGS = @DSO_CFLAGS@
MKSHLIB = @MKSHLIB@
MKCSHLIB = @MKCSHLIB@
MKSHLIB_FORCE_ALL = @MKSHLIB_FORCE_ALL@
MKSHLIB_UNFORCE_ALL = @MKSHLIB_UNFORCE_ALL@
DSO_LDOPTS = @DSO_LDOPTS@

View File

@ -111,6 +111,7 @@ LIBRARY := $(addprefix $(OBJDIR)/, $(LIBRARY))
ifndef NO_SHARED_LIB
ifdef MKSHLIB
ifeq ($(OS_ARCH),OS2)
SHARED_LIBRARY := $(LIBRARY:.lib=.dll)
MAPS := $(LIBRARY:.lib=.map)
@ -118,6 +119,12 @@ else # OS2
ifeq ($(OS_ARCH),WINNT)
SHARED_LIBRARY := $(LIBRARY:.lib=.dll)
else # WINNT
# Unix only
ifdef LIB_IS_C_ONLY
MKSHLIB = $(MKCSHLIB)
endif
ifeq ($(OS_ARCH),HP-UX)
SHARED_LIBRARY := $(LIBRARY:.a=.sl)
else # HPUX

View File

@ -181,6 +181,7 @@ dnl GNU specific defaults
dnl ========================================================
if test "$GNU_CC"; then
MKSHLIB='$(CXX) $(DSO_LDOPTS)'
MKCSHLIB='$(CC) $(DSO_LDOPTS)'
DSO_LDOPTS='-shared -Wl,-h -Wl,$(@:$(OBJDIR)/%.$(DLL_SUFFIX)=%.$(DLL_SUFFIX))'
DSO_CFLAGS='-fPIC'
@ -196,6 +197,7 @@ if test "$GNU_CC"; then
_USE_CPP_INCLUDE_FLAG=1
else
MKSHLIB='$(LD) $(DSO_LDOPTS)'
MKCSHLIB='$(MKSHLIB)'
DSO_LDOPTS='-shared -h $(@:$(OBJDIR)/%.$(DLL_SUFFIX)=%.$(DLL_SUFFIX))'
DSO_CFLAGS='-KPIC'
_DEFINES_CFLAGS='$(ACDEFINES)'
@ -259,6 +261,7 @@ case "$target" in
DSO_CFLAGS='-DPIC -brtl -qflag=w:w'
fi
MKSHLIB='makeC++SharedLib_r -p1 -brtl -berok --'
MKCSHLIB='$(MKSHLIB)'
;;
*-*-solaris*)
@ -266,6 +269,7 @@ case "$target" in
if test ! "$GNU_CC"; then
LDFLAGS='-xildoff'
MKSHLIB='$(CXX) $(DSO_LDOPTS)'
MKCSHLIB='$(CC) $(DSO_LDOPTS)'
MKSHLIB_FORCE_ALL='-z allextract'
MKSHLIB_UNFORCE_ALL=''
DSO_LDOPTS='-G -h $(@:$(OBJDIR)/%.$(DLL_SUFFIX)=%.$(DLL_SUFFIX))'
@ -295,6 +299,7 @@ case "$target" in
*-*-sunos*)
DSO_LDOPTS=''
MKSHLIB='$(LD) $(DSO_LDOPTS)'
MKCSHLIB='$(MKSHLIB)'
;;
alpha*-*-linux*)
@ -354,6 +359,7 @@ dnl Test for a.out platform and handle C++ libraries correctly
DSO_CFLAGS='-fPIC'
DSO_LDOPTS='-shared -h $(@:$(OBJDIR)/%.$(DLL_SUFFIX)=%.$(DLL_SUFFIX))'
MKSHLIB='$(LD) $(DSO_LDOPTS)'
MKCSHLIB='$(MKSHLIB)'
if $CC -E - -dM </dev/null | grep -v __ELF__ >/dev/null; then
DSO_LDOPTS="-Bshareable /usr/lib/c++rt0.o"
fi
@ -369,12 +375,14 @@ dnl Test for a.out platform and handle C++ libraries correctly
fi
DSO_LDOPTS='-b -E -L$(DIST)/bin'
MKSHLIB='$(LD) $(DSO_LDOPTS)'
MKCSHLIB='$(MKSHLIB)'
;;
*-irix*)
AC_DEFINE(IRIX6_3)
DSO_LDOPTS='-elf -shared'
MKSHLIB='$(CCC) $(DSO_LDOPTS)'
MKCSHLIB='$(CC) $(DSO_LDOPTS)'
dnl I think this will probably break builds using both gcc and GNU ld.
MKSHLIB_FORCE_ALL='-Wl,-all'
MKSHLIB_UNFORCE_ALL='-Wl,-none'
@ -1728,6 +1736,7 @@ AC_SUBST(USE_STRING2)
AC_SUBST(WRAP_MALLOC_CFLAGS)
AC_SUBST(WRAP_MALLOC_LIB)
AC_SUBST(MKSHLIB)
AC_SUBST(MKCSHLIB)
AC_SUBST(MKSHLIB_FORCE_ALL)
AC_SUBST(MKSHLIB_UNFORCE_ALL)
AC_SUBST(DSO_CFLAGS)

View File

@ -1,38 +1,54 @@
#! gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
DEPTH = ../..
DEPTH = ../..
topsrcdir = @top_srcdir@
VPATH = @srcdir@
srcdir = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = dbm
MODULE = dbm
LIBRARY_NAME = $(MOZ_LIB_DBM_PREFIX)dbm
CSRCS = db.c \
h_bigkey.c \
h_func.c \
h_log2.c \
h_page.c \
hash.c \
hash_buf.c \
hsearch.c \
memmove.c \
mktemp.c \
ndbm.c \
snprintf.c \
strerror.c \
nsres.c \
$(NULL)
LIB_IS_C_ONLY = 1
LIBRARY_NAME = $(MOZ_LIB_DBM_PREFIX)dbm
CSRCS = db.c \
h_bigkey.c \
h_func.c \
h_log2.c \
h_page.c \
hash.c \
hash_buf.c \
hsearch.c \
memmove.c \
mktemp.c \
ndbm.c \
snprintf.c \
strerror.c \
nsres.c \
$(NULL)
LOCAL_INCLUDES = -I$(srcdir)/../include
LOCAL_INCLUDES = -I$(srcdir)/../include
include $(topsrcdir)/config/rules.mk
DEFINES += -DMEMMOVE -D__DBINTERFACE_PRIVATE $(SECURITY_FLAG)
DEFINES += -DMEMMOVE -D__DBINTERFACE_PRIVATE $(SECURITY_FLAG)
ifeq ($(OS_ARCH),AIX)
OS_LIBS += -lc_r
OS_LIBS += -lc_r
endif

View File

@ -1,4 +1,4 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
@ -13,6 +13,7 @@
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
DEPTH = ../../..
topsrcdir = @top_srcdir@
@ -24,6 +25,8 @@ include $(DEPTH)/config/autoconf.mk
MODULE = libxpt
LIBRARY_NAME = xpt
LIB_IS_C_ONLY = 1
CSRCS = xpt_struct.c \
xpt_xdr.c \
$(NULL)

View File

@ -1,4 +1,4 @@
#!gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
@ -13,6 +13,7 @@
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
DEPTH = ../../..
topsrcdir = @top_srcdir@
@ -24,6 +25,8 @@ include $(DEPTH)/config/autoconf.mk
MODULE = libxpt
LIBRARY_NAME = xpt
LIB_IS_C_ONLY = 1
CSRCS = xpt_struct.c \
xpt_xdr.c \
$(NULL)