Closed Bug 512 Opened 27 years ago Closed 26 years ago

Improving Makefiles for Layout modules

Categories

(MozillaClassic Graveyard :: Layout, defect, P3)

defect

Tracking

(Not tracked)

VERIFIED WONTFIX

People

(Reporter: jam, Assigned: vidur)

Details

Created by Kazushi Marukawa (jam@pobox.com) on Monday, July 27, 1998 11:36:26 AM PDT
Additional Details :
-l<library> style is better than lib<library>.a style for
traditional UNIX.  I think it is OK for Mac and Windows.  So
please change your style of Makefile.

Here is my patch for today's Mozilla.

Index: dom/src/build/Makefile
===================================================================
RCS file: /cvsroot/mozilla/dom/src/build/Makefile,v
retrieving revision 1.3
diff -u -r1.3 Makefile
--- Makefile    1998/07/17 04:50:27     1.3
+++ Makefile    1998/07/27 18:01:10
@@ -42,19 +42,21 @@

 EXTRA_DSO_LDOPTS = \
        $(LD_ALL)                                       \
-       $(DIST)/lib/libjsdombase_s.a                    \
-       $(DIST)/lib/libjsdomcore_s.a                    \
-       $(DIST)/lib/libjsdomevents_s.a                  \
-       $(DIST)/lib/libjsdomhtml_s.a                    \
+       -L$(DIST)/lib                                   \
+       -ljsdombase_s                                   \
+       -ljsdomcore_s                                   \
+       -ljsdomevents_s                                 \
+       -ljsdomhtml_s                                   \
        $(LD_NONE)                                      \
-       $(DIST)/bin/libraptorbase.so                    \
-       $(DIST)/bin/libgmbaseunix.so                    \
-       $(DIST)/bin/libnetlib.so                        \
-       $(DIST)/bin/libjs.so                            \
-       $(DIST)/bin/libxpcom.so                         \
-       $(DIST)/bin/libnspr21.so                        \
-       $(DIST)/bin/libplds21.so                        \
-       $(DIST)/bin/libplc21.so                         \
+       -L$(DIST)/bin                                   \
+       -lraptorbase                                    \
+       -lgmbaseunix                                    \
+       -lnetlib                                        \
+       -ljs                                            \
+       -lxpcom                                         \
+       -lnspr21                                        \
+       -lplds21                                        \
+       -lplc21                                         \
        -lm

 include $(DEPTH)/config/rules.mk
Index: gfx/src/motif/Makefile
===================================================================
RCS file: /cvsroot/mozilla/gfx/src/motif/Makefile,v
retrieving revision 1.9
diff -u -r1.9 Makefile
--- Makefile    1998/07/15 01:08:34     1.9
+++ Makefile    1998/07/27 18:01:10
@@ -28,15 +28,17 @@
 LCFLAGS+=-D_IMPL_NS_GFXONXP

 EXTRA_DSO_LDOPTS+=\
-       $(DIST)/bin/libxpcom.so \
-       $(DIST)/bin/libraptorgfx.so \
-       $(DIST)/bin/libraptorbase.so \
-       $(DIST)/bin/libreg.so \
+       -L$(DIST)/bin \
+       -lxpcom \
+       -lraptorgfx \
+       -lraptorbase \
+       -lreg \
        $(LIBNSPR)\
-       $(DIST)/lib/libplc21.a
+       -L$(DIST)/lib \
+       -lplc21

 # This should really be done properly in 'config'
-ifeq ($(OS_ARCH),Linux)
+ifneq (,$(filter Linux NetBSD,$(OS_ARCH)))
 EXTRA_DSO_LDOPTS+=\
         -L/usr/X11R6/lib -lXt -lX11 -lXext -lm
 else

Index: layout/build/Makefile
===================================================================
RCS file: /cvsroot/mozilla/layout/build/Makefile,v
retrieving revision 3.9
diff -u -r3.9 Makefile
--- Makefile    1998/07/17 04:51:46     3.9
+++ Makefile    1998/07/27 18:01:15
@@ -41,27 +41,29 @@

 EXTRA_DSO_LDOPTS = \
        $(LD_ALL)                                       \
-       $(DIST)/lib/libraptorhtmldoc_s.a                \
-       $(DIST)/lib/libnglhtmlcon_s.a                   \
-       $(DIST)/lib/libraptorhtmlforms_s.a              \
-       $(DIST)/lib/libraptorhtmltable_s.a              \
-       $(DIST)/lib/libraptorhtmlbase_s.a               \
-       $(DIST)/lib/libnglcsslay_s.a                    \
-       $(DIST)/lib/libraptorhtmlstyle_s.a              \
-       $(DIST)/lib/libraptorlayout_s.a                 \
-       $(DIST)/lib/libraptorevents_s.a                 \
+       -L$(DIST)/lib                                   \
+       -lraptorhtmldoc_s                               \
+       -lnglhtmlcon_s                                  \
+       -lraptorhtmlforms_s                             \
+       -lraptorhtmltable_s                             \
+       -lraptorhtmlbase_s                              \
+       -lnglcsslay_s                                   \
+       -lraptorhtmlstyle_s                             \
+       -lraptorlayout_s                                \
+       -lraptorevents_s                                \
        $(LD_NONE)                                      \
-       $(DIST)/bin/libraptorhtmlpars.so                \
-       $(DIST)/bin/libraptorgfx.so                     \
-       $(DIST)/bin/libraptorbase.so                    \
-       $(DIST)/bin/libgmbaseunix.so                    \
-       $(DIST)/bin/libjsdom.so                         \
-       $(DIST)/bin/libjs.so                            \
-       $(DIST)/bin/libnetlib.so                        \
-       $(DIST)/bin/libxpcom.so                         \
-       $(DIST)/bin/libnspr21.so                        \
-       $(DIST)/bin/libplds21.so                        \
-       $(DIST)/bin/libplc21.so                         \
+       -L$(DIST)/bin                                   \
+       -lraptorhtmlpars                                \
+       -lraptorgfx                                     \
+       -lraptorbase                                    \
+       -lgmbaseunix                                    \
+       -ljsdom                                         \
+       -ljs                                            \
+       -lnetlib                                        \
+       -lxpcom                                         \
+       -lnspr21                                        \
+       -lplds21                                        \
+       -lplc21                                         \
        -lm

 include $(DEPTH)/config/rules.mk

Index: webshell/tests/viewer/Makefile
===================================================================
RCS file: /cvsroot/mozilla/webshell/tests/viewer/Makefile,v
retrieving revision 1.37
diff -u -r1.37 Makefile
--- Makefile    1998/07/27 05:59:30     1.37
+++ Makefile    1998/07/27 18:01:35
@@ -35,59 +35,60 @@

 OBJS   = $(CPPSRCS:.cpp=.o)

-EX_LIBS = \
-       $(DIST)/bin/libraptorbase.so    \
-       $(DIST)/bin/libpng.so \
-       $(DIST)/bin/libpref.so \
-       $(DIST)/bin/libraptorbase.so \
-       $(DIST)/bin/libwidgetunix.so \
-       $(DIST)/bin/libraptorgfx.so \
-       $(DIST)/bin/libgfxunix.so \
-       $(DIST)/bin/libraptorhtml.so \
-       $(DIST)/bin/libgmbaseunix.so \
-       $(DIST)/bin/libraptorhtmlpars.so \
-       $(DIST)/bin/libraptorview.so \
-       $(DIST)/bin/libreg.so \
-       $(DIST)/bin/libabouturl.so \
-       $(DIST)/bin/libfileurl.so \
-       $(DIST)/bin/libftpurl.so \
-       $(DIST)/bin/libgophurl.so \
-       $(DIST)/bin/libhttpurl.so \
-       $(DIST)/bin/libimg.so \
-       $(DIST)/bin/libjpeg.so \
-       $(DIST)/bin/libjs.so \
-       $(DIST)/bin/libjsdom.so \
-       $(DIST)/bin/libjsj.so \
-       $(DIST)/bin/libmimetype.so \
-       $(DIST)/bin/libmsgc21.so \
-       $(DIST)/bin/libnetcache.so \
-       $(DIST)/bin/libnetcnvts.so \
-       $(DIST)/bin/libnetlib.so \
-       $(DIST)/bin/libnetutil.so \
-       $(DIST)/bin/libnetwork.so \
-       $(DIST)/bin/libnspr21.so \
-       $(DIST)/bin/libplc21.so \
-       $(DIST)/bin/libplds21.so \
-       $(DIST)/bin/libraptorwebwidget.so \
-       $(DIST)/bin/libreg.so \
-       $(DIST)/bin/libremoturl.so \
-       $(DIST)/bin/libsecfree.so \
-       $(DIST)/bin/libstubnj.so \
-       $(DIST)/bin/libstubsj.so \
-       $(DIST)/bin/libtestdynamic.so \
-       $(DIST)/bin/libutil.so \
-       $(DIST)/bin/libxp.so \
-       $(DIST)/bin/libxpcom.so \
-       $(DIST)/bin/libzlib.so \
-       $(DIST)/bin/libutil.so \
-       $(DIST)/bin/libxp.so \
-       $(DIST)/bin/libxpcom.so \
-       $(DIST)/bin/libzlib.so \
-       $(DIST)/bin/libraptorplugin.so \
-        $(NULL)
+EX_LDOPS = \
+       -L$(DIST)/bin \
+       -lraptorbase \
+       -lpng \
+       -lpref \
+       -lraptorbase \
+       -lwidgetunix \
+       -lraptorgfx \
+       -lgfxunix \
+       -lraptorhtml \
+       -lgmbaseunix \
+       -lraptorhtmlpars \
+       -lraptorview \
+       -lreg \
+       -labouturl \
+       -lfileurl \
+       -lftpurl \
+       -lgophurl \
+       -lhttpurl \
+       -limg \
+       -ljpeg \
+       -ljs \
+       -ljsdom \
+       -ljsj \
+       -lmimetype \
+       -lmsgc21 \
+       -lnetcache \
+       -lnetcnvts \
+       -lnetlib \
+       -lnetutil \
+       -lnetwork \
+       -lnspr21 \
+       -lplc21 \
+       -lplds21 \
+       -lraptorwebwidget \
+       -lreg \
+       -lremoturl \
+       -lsecfree \
+       -lstubnj \
+       -lstubsj \
+       -ltestdynamic \
+       -lutil \
+       -lxp \
+       -lxpcom \
+       -lzlib \
+       -lutil \
+       -lxp \
+       -lxpcom \
+       -lzlib \
+       -lraptorplugin \
+       $(NULL)

 ifeq ($(OS_ARCH),Linux)
-EX_LIBS += \
+EX_LDOPS += \
        $(DIST)/bin/libpwcac.so \
        $(DIST)/bin/libdbm.so \
        $(NULL)
@@ -99,12 +100,16 @@

 include $(DEPTH)/config/rules.mk

-$(PROGS): $(OBJS) $(EX_LIBS)
+$(PROGS): $(OBJS)
        @$(MAKE_OBJDIR)
 ifeq ($(OS_ARCH),Linux)
-       $(CCC) -rdynamic -o $@ $(OBJS) $(LDFLAGS) $(EX_LIBS)
$(OS_LIBS) -L/usr/X11R6/lib -lXm -lXt -lX11 -lXp -lXext
+       $(CCC) -rdynamic -o $@ $(OBJS) $(LDFLAGS)
$(EX_LDOPS) $(OS_LIBS) -L/usr/X11R6/lib -lXm -lXt -lX11 -lXp
-lXext
+else
+ifeq ($(OS_ARCH),NetBSD)
+       $(CCC) -o $@ $(LDFLAGS) $(OBJS) $(EX_LDOPS)
$(OS_LIBS) -L/usr/X11R6/lib -lXm -lXt -lX11
 else
-       $(CCC) -o $@ -woff 84,85 $(LDFLAGS) $(OBJS)
$(EX_LIBS) $(OS_LIBS) -lXm -lXt -lX11
+       $(CCC) -o $@ -woff 84,85 $(LDFLAGS) $(OBJS)
$(EX_LDOPS) $(OS_LIBS) -lXm -lXt -lX11
+endif
 endif

 export::
Index: widget/src/motif/Makefile
===================================================================
RCS file: /cvsroot/mozilla/widget/src/motif/Makefile,v
retrieving revision 1.20
diff -u -r1.20 Makefile
--- Makefile    1998/06/23 21:18:41     1.20
+++ Makefile    1998/07/27 18:01:35
@@ -29,14 +29,16 @@
 DEFINES = -D_IMPL_NS_WIDGET

 EXTRA_DSO_LDOPTS+=\
-       $(DIST)/bin/libxpcom.so \
-       $(DIST)/bin/libraptorbase.so \
-       $(DIST)/bin/libreg.so \
+       -L$(DIST)/bin \
+       -lxpcom \
+       -lraptorbase \
+       -lreg \
        $(LIBNSPR)\
-       $(DIST)/lib/libplc21.a
+       -L$(DIST)/lib \
+       -lplc21

 # This should really be done properly in 'config'
-ifeq ($(OS_ARCH),Linux)
+ifneq (,$(filter Linux NetBSD,$(OS_ARCH)))
 EXTRA_DSO_LDOPTS+=\
        -L/usr/X11R6/lib -lX11 -lm
 else
Assignee: djw → vidur
Looks like the new DOM, rather than lib/layout. Be careful with this change,
some of the Unixen have different rules for resolving (-lXXXX), sometimes not
what is wanted in the specifically controlled mozilla builds. Talk to Briano.
Status: NEW → ASSIGNED
Setting all current Open Critical and Major to M3
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
QA Contact: 3819
Resolution: --- → WONTFIX
I think this is an old bug, no longer relevant, so I'm marking resolved won't
fix in mozillaclassic. If I'm incorrect (highly possible), please scream and I
will re-open this in new Browser product.
Status: RESOLVED → VERIFIED
marking verified as I heard no complaints
You need to log in before you can comment on or make changes to this bug.