Nicolas Sceaux <[EMAIL PROTECTED]> writes: > Jan Nieuwenhuizen <[EMAIL PROTECTED]> writes: > >> Ok. Actually I was fishing for patches. > > ho, hum, now I'm confused (not for the first time these days). > >> Didn't you have something >> useful already? We could just open a CVS branch to experiment on.
The attached patch might give a start. "libtoolize --force --copy" has to be run in order to update the config.guess, config.sub and ltmain.sh files. Also, a libtool.m4 should be copied in stepmake/. I have not looked at install rules. Beware, I'm a complete newbie with libtool. I hope someone more experienced will correct all that.
Index: config.make.in =================================================================== RCS file: /cvsroot/lilypond/lilypond/config.make.in,v retrieving revision 1.63 diff -u -r1.63 config.make.in --- config.make.in 17 Jun 2004 00:17:57 -0000 1.63 +++ config.make.in 26 Jun 2004 00:26:25 -0000 @@ -106,3 +106,10 @@ ZIP = @ZIP@ PAPERSIZE=a4 + +#LIBTOOL = @LIBTOOL@ +LIBTOOL = $(SHELL) $(builddir)/libtool +LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) +LIBTOOL_CXX = $(LIBTOOL) --mode=compile $(CXX) +LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CXX) + Index: configure.in =================================================================== RCS file: /cvsroot/lilypond/lilypond/configure.in,v retrieving revision 1.113 diff -u -r1.113 configure.in --- configure.in 20 Jun 2004 19:53:34 -0000 1.113 +++ configure.in 26 Jun 2004 00:26:25 -0000 @@ -13,6 +13,8 @@ STEPMAKE_INIT +AC_PROG_LIBTOOL + # List a file that identifies your package. Index: lily/GNUmakefile =================================================================== RCS file: /cvsroot/lilypond/lilypond/lily/GNUmakefile,v retrieving revision 1.30 diff -u -r1.30 GNUmakefile --- lily/GNUmakefile 7 Mar 2004 13:07:29 -0000 1.30 +++ lily/GNUmakefile 26 Jun 2004 00:28:17 -0000 @@ -10,7 +10,7 @@ HELP2MAN_EXECS = lilypond-bin -STEPMAKE_TEMPLATES= c++ executable po help2man +STEPMAKE_TEMPLATES= c++ shared-library executable po help2man include $(depth)/make/stepmake.make @@ -33,6 +33,14 @@ $(outdir)/lily-guile.o: $(outdir)/version.hh $(outdir)/lily-version.o: $(outdir)/version.hh +$(outdir)/my-lily-parser.lo: $(outdir)/parser.hh +$(outdir)/my-lily-lexer.lo: $(outdir)/parser.hh +$(outdir)/lexer.lo: $(outdir)/parser.hh $(outdir)/version.hh + +$(outdir)/kpath.lo: $(outdir)/version.hh +$(outdir)/lily-guile.lo: $(outdir)/version.hh +$(outdir)/lily-version.lo: $(outdir)/version.hh + # ugh. For --srcdir builds, these must exist to satisfy their broken # lexer.dep and parser.dep file entries. ifneq ($(srcdir), .) Index: stepmake/aclocal.m4 =================================================================== RCS file: /cvsroot/lilypond/lilypond/stepmake/aclocal.m4,v retrieving revision 1.111 diff -u -r1.111 aclocal.m4 --- stepmake/aclocal.m4 17 Jun 2004 00:17:57 -0000 1.111 +++ stepmake/aclocal.m4 26 Jun 2004 00:32:04 -0000 @@ -1,6 +1,9 @@ dnl aclocal.m4 -*-shell-script-*- dnl StepMake subroutines for configure.in +### for using libtool +sinclude(libtool.m4) +sinclude(stepmake/libtool.m4) ### mostly interal macros Index: stepmake/stepmake/c++-rules.make =================================================================== RCS file: /cvsroot/lilypond/lilypond/stepmake/stepmake/c++-rules.make,v retrieving revision 1.9 diff -u -r1.9 c++-rules.make --- stepmake/stepmake/c++-rules.make 18 Sep 2003 10:05:05 -0000 1.9 +++ stepmake/stepmake/c++-rules.make 26 Jun 2004 00:32:19 -0000 @@ -1,16 +1,17 @@ .SUFFIXES: .cc .dep .hh .ll .o .so .yy -$(outdir)/%.o: %.cc - $(DO_O_DEP) $(CXX) -c $(ALL_CXXFLAGS) -o $@ $< - -$(outdir)/%.o: $(outdir)/%.cc - $(DO_O_DEP) $(CXX) -c $(ALL_CXXFLAGS) -o $@ $< - $(outdir)/%.lo: %.cc - $(DO_LO_DEP) $(CXX) -c $(ALL_CXXFLAGS) $(PIC_FLAGS) -o $@ $< + $(DO_O_DEP) $(LIBTOOL_CXX) -c $(ALL_CXXFLAGS) -o $(@:.lo=.o) $< $(outdir)/%.lo: $(outdir)/%.cc - $(DO_LO_DEP) $(CXX) -c $(ALL_CXXFLAGS) $(PIC_FLAGS) -o $@ $< + $(DO_O_DEP) $(LIBTOOL_CXX) -c $(ALL_CXXFLAGS) -o $(@:.lo=.o) $< + + +$(outdir)/%.o: %.cc + $(DO_O_DEP) $(LIBTOOL_CXX) -c $(ALL_CXXFLAGS) -o $@ $< + +$(outdir)/%.o: $(outdir)/%.cc + $(DO_O_DEP) $(LIBTOOL_CXX) -c $(ALL_CXXFLAGS) -o $@ $< $(outdir)/%.cc: %.yy $(BISON) -o $@ $< Index: stepmake/stepmake/c++-vars.make =================================================================== RCS file: /cvsroot/lilypond/lilypond/stepmake/stepmake/c++-vars.make,v retrieving revision 1.14 diff -u -r1.14 c++-vars.make --- stepmake/stepmake/c++-vars.make 7 Mar 2004 13:07:28 -0000 1.14 +++ stepmake/stepmake/c++-vars.make 26 Jun 2004 00:32:19 -0000 @@ -18,6 +18,7 @@ ALL_CC_SOURCES += $(HH_FILES) $(INL_FILES) $(CC_FILES) $(YY_FILES) $(LL_FILES) O_FILES+=$(addprefix $(outdir)/, $(CC_FILES:.cc=.o) $(LL_FILES:.ll=.o) $(YY_FILES:.yy=.o)) +LO_FILES+=$(addprefix $(outdir)/, $(CC_FILES:.cc=.lo) $(LL_FILES:.ll=.lo) $(YY_FILES:.yy=.lo)) TAGS_SOURCES += $(TCC_FILES) $(INL_FILES) $(CC_FILES) $(YY_FILES) $(LL_FILES) TAGS_HEADERS += $(HH_FILES) $(INL_FILES) Index: stepmake/stepmake/c-rules.make =================================================================== RCS file: /cvsroot/lilypond/lilypond/stepmake/stepmake/c-rules.make,v retrieving revision 1.7 diff -u -r1.7 c-rules.make --- stepmake/stepmake/c-rules.make 18 Sep 2003 10:05:05 -0000 1.7 +++ stepmake/stepmake/c-rules.make 26 Jun 2004 00:32:19 -0000 @@ -1,16 +1,10 @@ .SUFFIXES: .c .dep .h .l .lo .o .so .y $(outdir)/%.o: %.c - $(DO_O_DEP) $(CC) -c $(ALL_CFLAGS) -o $@ $< + $(DO_O_DEP) $(LIBTOOL_CC) -c $(ALL_CFLAGS) -o $@ $< $(outdir)/%.o: $(outdir)/%.c - $(DO_O_DEP) $(CC) -c $(ALL_CFLAGS) -o $@ $< - -$(outdir)/%.lo: %.c - $(DO_LO_DEP) $(CC) -c $(ALL_CFLAGS) $(PIC_FLAGS) -o $@ $< - -$(outdir)/%.lo: %.c - $(DO_LO_DEP) $(CC) -c $(ALL_CFLAGS) $(PIC_FLAGS) -o $@ $< + $(DO_O_DEP) $(LIBTOOL_CC) -c $(ALL_CFLAGS) -o $@ $< $(outdir)/%.c: %.y $(BISON) $< Index: stepmake/stepmake/c-vars.make =================================================================== RCS file: /cvsroot/lilypond/lilypond/stepmake/stepmake/c-vars.make,v retrieving revision 1.8 diff -u -r1.8 c-vars.make --- stepmake/stepmake/c-vars.make 7 Mar 2004 13:07:28 -0000 1.8 +++ stepmake/stepmake/c-vars.make 26 Jun 2004 00:32:19 -0000 @@ -8,6 +8,7 @@ SOURCE_FILES+=$(Y_FILES) $(C_FILES) $(L_FILES) $(H_FILES) O_FILES+=$(addprefix $(outdir)/, $(Y_FILES:.y=.o) $(C_FILES:.c=.o) $(L_FILES:.l=.o)) +LO_FILES+=$(addprefix $(outdir)/, $(Y_FILES:.y=.lo) $(C_FILES:.c=.lo) $(L_FILES:.l=.lo)) TAGS_SOURCES += $(C_FILES) TAGS_HEADERS += $(H_FILES) Index: stepmake/stepmake/executable-rules.make =================================================================== RCS file: /cvsroot/lilypond/lilypond/stepmake/stepmake/executable-rules.make,v retrieving revision 1.4 diff -u -r1.4 executable-rules.make --- stepmake/stepmake/executable-rules.make 18 Jul 2002 00:36:15 -0000 1.4 +++ stepmake/stepmake/executable-rules.make 26 Jun 2004 00:32:19 -0000 @@ -1,4 +1,4 @@ $(EXECUTABLE): $(outdir)/config.h $(O_FILES) $(outdir)/version.hh $(foreach a, $(MODULE_LIBS), $(MAKE) -C $(a) && ) true - $(LD) -o $@ $(O_FILES) $(LOADLIBES) $(ALL_LDFLAGS) + $(LIBTOOL_LINK) -o $@ $(O_FILES) $(LOADLIBES) $(ALL_LDFLAGS) Index: stepmake/stepmake/executable-vars.make =================================================================== RCS file: /cvsroot/lilypond/lilypond/stepmake/stepmake/executable-vars.make,v retrieving revision 1.8 diff -u -r1.8 executable-vars.make --- stepmake/stepmake/executable-vars.make 20 Sep 2001 21:49:23 -0000 1.8 +++ stepmake/stepmake/executable-vars.make 26 Jun 2004 00:32:19 -0000 @@ -1,4 +1,4 @@ -MODULE_LIBES =$(addprefix $(outdir)/../, $(addsuffix /$(outbase)/library.a, $(MODULE_LIBS))) +MODULE_LIBES =$(addprefix $(outdir)/../, $(addsuffix /$(outbase)/libflower.la, $(MODULE_LIBS))) LOADLIBES = $(MODULE_LIBES) $($(PACKAGE)_LIBES) $(EXTRA_LIBES) EXECUTABLE = $(outdir)/$(NAME) Index: stepmake/stepmake/library-rules.make =================================================================== RCS file: /cvsroot/lilypond/lilypond/stepmake/stepmake/library-rules.make,v retrieving revision 1.3 diff -u -r1.3 library-rules.make --- stepmake/stepmake/library-rules.make 11 Feb 2004 15:11:02 -0000 1.3 +++ stepmake/stepmake/library-rules.make 26 Jun 2004 00:32:19 -0000 @@ -1,8 +1,7 @@ -$(LIBRARY): $(outdir)/config.h $(O_FILES) - $(AR) $(ARFLAGS) $@ $(O_FILES) -# thanks to Nelson Beebe for this trick. - $(RANLIB) $@ || $(AR) ts $@ || true +$(LIBRARY): $(outdir)/config.h $(LO_FILES) + $(LIBTOOL_LINK) -o $@ $(LO_FILES) $(ALL_LDFLAGS) + Index: stepmake/stepmake/library-vars.make =================================================================== RCS file: /cvsroot/lilypond/lilypond/stepmake/stepmake/library-vars.make,v retrieving revision 1.3 diff -u -r1.3 library-vars.make --- stepmake/stepmake/library-vars.make 20 Sep 2001 21:49:23 -0000 1.3 +++ stepmake/stepmake/library-vars.make 26 Jun 2004 00:32:19 -0000 @@ -1,8 +1,7 @@ LIB_PREFIX = lib -LIB_SUFFIX = .a +LIB_SUFFIX = .la AR=ar -# LIBRARY = $(outdir)/$(LIB_PREFIX)$(NAME)$(LIB_SUFFIX) -LIBRARY = $(outdir)/$(LIB_PREFIX)rary$(LIB_SUFFIX) INSTALL_LIBRARY = $(LIB_PREFIX)$(NAME)$(LIB_SUFFIX) +LIBRARY = $(outdir)/$(INSTALL_LIBRARY) Index: stepmake/stepmake/shared-library-rules.make =================================================================== RCS file: /cvsroot/lilypond/lilypond/stepmake/stepmake/shared-library-rules.make,v retrieving revision 1.3 diff -u -r1.3 shared-library-rules.make --- stepmake/stepmake/shared-library-rules.make 9 Aug 2002 12:39:27 -0000 1.3 +++ stepmake/stepmake/shared-library-rules.make 26 Jun 2004 00:32:19 -0000 @@ -1,4 +1,4 @@ -$(SHARED_LIBRARY): $(outdir)/config.h $(LO_FILES) - $(LD) $(SHARED_FLAGS) -o $@ $(LO_FILES) $(ALL_LDFLAGS) +$(LIBRARY): $(outdir)/config.h $(LO_FILES) + $(LIBTOOL_LINK) -o $@ $(LO_FILES) $(SHARED_LIB_LOADLIBES) $(ALL_LDFLAGS) -rpath $(libdir) -release $(VERSION) Index: stepmake/stepmake/shared-library-targets.make =================================================================== RCS file: /cvsroot/lilypond/lilypond/stepmake/stepmake/shared-library-targets.make,v retrieving revision 1.2 diff -u -r1.2 shared-library-targets.make --- stepmake/stepmake/shared-library-targets.make 9 Aug 2002 12:39:27 -0000 1.2 +++ stepmake/stepmake/shared-library-targets.make 26 Jun 2004 00:32:19 -0000 @@ -1,4 +1,4 @@ -default: $(SHARED_LIBRARY) +lib: $(LIBRARY) -$(SHARED_LIB_PREFIX)$(NAME): default \ No newline at end of file +$(SHARED_LIB_PREFIX)$(NAME): lib Index: stepmake/stepmake/shared-library-vars.make =================================================================== RCS file: /cvsroot/lilypond/lilypond/stepmake/stepmake/shared-library-vars.make,v retrieving revision 1.2 diff -u -r1.2 shared-library-vars.make --- stepmake/stepmake/shared-library-vars.make 9 Aug 2002 12:39:27 -0000 1.2 +++ stepmake/stepmake/shared-library-vars.make 26 Jun 2004 00:32:19 -0000 @@ -15,9 +15,7 @@ INSTALL_SHARED_LIBRARY = $(SHARED_LIB_PREFIX)$(NAME)$(SHARED_LIB_SUFFIX)$(SHARED_LIB_VERSION)$(SHARED_LIB_VERSION_SUFFIX) SHARED_LIBRARY = $(outdir)/$(INSTALL_SHARED_LIBRARY) +LIBRARY = $(outdir)/lib$(NAME).la -lo-dep-out = $(outdir)/$(subst .lo,.dep,$(notdir $@))# -DO_LO_DEP = rm -f $(lo-dep-out); DEPENDENCIES_OUTPUT="$(lo-dep-out) $(outdir)/$(notdir $@)" - -LO_FILES += $(addprefix $(outdir)/, $(Y_FILES:.y=.lo) $(C_FILES:.c=.lo) $(L_FILES:.l=.lo)) - +SHARED_LIB_MODULE_LIBES =$(addprefix $(outdir)/../, $(addsuffix /$(outbase)/libflower.la, $(MODULE_LIBS))) +SHARED_LIB_LOADLIBES = $(SHARED_LIB_MODULE_LIBES) $($(PACKAGE)_LIBES) $(EXTRA_LIBES)
nicolas
_______________________________________________ lilypond-devel mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/lilypond-devel