freebsd-ports/audio/xwave/files/patch-FWF_Imakefile
Mathieu Arnold 9fa9eb9ac7 Cleanup patches, a* categories.
Rename them to follow the make makepatch naming, and regenerate them.

With hat:	portmgr
Sponsored by:	Absolight
2016-07-26 16:51:15 +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 1998-11-08 23:22:54 UTC
+++ FWF/Imakefile
@@ -9,14 +9,25 @@ ALLDIRS = $(INITIALDIRS) include/Xfwf li
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)