freebsd-ports/audio/xwave/files/patch-ap
Trevor Johnson 024647601a fixes for two libfwf-related compilation problems (see comments in
patches)

Submitted by:	maintainer
PR:		20705
reported by:	Vivek Khera <khera@kciLink.com>
2001-03-05 22:37:30 +00:00

45 lines
2.1 KiB
Text

The second (and more serious) problem arises during the build of
xwave's own libfwf.a. Randomly, at least one of the OBJS is not
'ar'ed into libfwf. Is this a problem of the parallelized make?
You can not repeat exactly the error; the next time, another of
FWF's OBJS might be missing in libfwf.a.
Maybe there is a problem related to the change in FWF/FWF.rules
in VERSION 3.65 (see FWF/README.NOTES: "Hacked FWF.rules to
make AddToLibrary try to build library only if objects are
newer than library.").
Since I am not at all a compiler and linker specialist, I propose,
to do a final 'ar' of all OBJS after all of them are build. This
can be done by adding an auxiliary target in FWF/Imakefile.
--- FWF/Imakefile.orig Mon Nov 9 00:22:54 1998
+++ FWF/Imakefile Mon Jan 1 15:47:50 2001
@@ -9,14 +9,25 @@
MakeDirectories(all,$(ALLDIRS))
InitSubdirs($(SUBDIRS))
+DependSubdirs($(SUBDIRS))
MakeObjectsSubdirs($(SUBDIRS))
MakeExecsSubdirs($(SUBDIRS))
GatherDescriptionSubdirs($(SUBDIRS))
+MAINOBJS = src/Board/Board.o src/Button/Button.o src/Common/Common.o src/Frame/Frame.o src/Group/Group.o src/Label/Label.o src/RadioGroup/RadioGrp.o src/RowCol/RowCol.o src/Toggle/Toggle.o
+MISCOBJS = src/misc/VarArgs.o
+CONVOBJS = src/converters/long.o src/converters/icon.o src/converters/choosecol.o src/converters/StrToPmap.o src/converters/Pen.o src/converters/strarray.o
+STRGOBJS = src/tabstring/DrawImageString.o src/tabstring/DrawString.o src/tabstring/Tablist2Tabs.o src/tabstring/TextWidth.o src/tabstring/strnchr.o
+
+$(FWF_LIBDIR)/auxtarget: $(MAINOBJS) $(MISCOBJS) $(CONVOBJS) $(STRGOBJS)
+ ar -r $(FWF_LIBDIR)/$(FWF_LIBNAME) $(MAINOBJS) $(MISCOBJS) $(CONVOBJS) $(STRGOBJS)
+ ranlib $(FWF_LIBDIR)/$(FWF_LIBNAME)
+ echo "lib complete." > $(FWF_LIBDIR)/auxtarget
+
#ifdef BuildExecs
-AllTarget(init objects execs $(FWF_MANDIR)/fwf.man)
+AllTarget(init objects execs $(FWF_LIBDIR)/auxtarget $(FWF_MANDIR)/fwf.man)
#else
-AllTarget(init objects $(FWF_MANDIR)/fwf.man)
+AllTarget(init objects $(FWF_LIBDIR)/auxtarget $(FWF_MANDIR)/fwf.man)
#endif
ConstructIndex(init)