diff --git a/src/Makefile b/src/Makefile index 4d0a5ebad5..c8a84065f5 100644 --- a/src/Makefile +++ b/src/Makefile @@ -2053,12 +2053,12 @@ CCC = $(CCC_NF) $(ALL_CFLAGS) # Link the target for normal use or debugging. # A shell script is used to try linking without unnecessary libraries. -$(VIMTARGET): auto/config.mk objects $(OBJ) version.c version.h - $(CCC) version.c -o objects/version.o +$(VIMTARGET): auto/config.mk $(OBJ) objects/version.o @$(BUILD_DATE_MSG) @LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \ -o $(VIMTARGET) $(OBJ) $(ALL_LIBS)" \ MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \ + PROG="vim" \ sh $(srcdir)/link.sh xxd/xxd$(EXEEXT): xxd/xxd.c @@ -2267,32 +2267,32 @@ testclean: # Unittests # It's build just like Vim to satisfy all dependencies. -$(JSON_TEST_TARGET): auto/config.mk objects $(JSON_TEST_OBJ) - $(CCC) version.c -o objects/version.o +$(JSON_TEST_TARGET): auto/config.mk $(JSON_TEST_OBJ) objects/version.o @LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \ -o $(JSON_TEST_TARGET) $(JSON_TEST_OBJ) $(ALL_LIBS)" \ MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \ + PROG="json_test" \ sh $(srcdir)/link.sh -$(KWORD_TEST_TARGET): auto/config.mk objects $(KWORD_TEST_OBJ) - $(CCC) version.c -o objects/version.o +$(KWORD_TEST_TARGET): auto/config.mk $(KWORD_TEST_OBJ) objects/version.o @LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \ -o $(KWORD_TEST_TARGET) $(KWORD_TEST_OBJ) $(ALL_LIBS)" \ MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \ + PROG="kword_test" \ sh $(srcdir)/link.sh -$(MEMFILE_TEST_TARGET): auto/config.mk objects $(MEMFILE_TEST_OBJ) - $(CCC) version.c -o objects/version.o +$(MEMFILE_TEST_TARGET): auto/config.mk $(MEMFILE_TEST_OBJ) objects/version.o @LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \ -o $(MEMFILE_TEST_TARGET) $(MEMFILE_TEST_OBJ) $(ALL_LIBS)" \ MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \ + PROG="memfile_test" \ sh $(srcdir)/link.sh -$(MESSAGE_TEST_TARGET): auto/config.mk objects $(MESSAGE_TEST_OBJ) - $(CCC) version.c -o objects/version.o +$(MESSAGE_TEST_TARGET): auto/config.mk $(MESSAGE_TEST_OBJ) objects/version.o @LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \ -o $(MESSAGE_TEST_TARGET) $(MESSAGE_TEST_OBJ) $(ALL_LIBS)" \ MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \ + PROG="message_test" \ sh $(srcdir)/link.sh # install targets @@ -3503,6 +3503,9 @@ objects/usercmd.o: usercmd.c objects/userfunc.o: userfunc.c $(CCC) -o $@ userfunc.c +objects/version.o: version.c + $(CCC) -o $@ version.c + objects/vim9class.o: vim9class.c $(CCC) -o $@ vim9class.c diff --git a/src/link.sh b/src/link.sh index 71ee061e31..e4030de861 100755 --- a/src/link.sh +++ b/src/link.sh @@ -13,13 +13,13 @@ # Otherwise this script is fail-safe, falling back to the original full link # command if anything fails. -echo "$LINK " >link.cmd +echo "$LINK " >link_$PROG.cmd exit_value=0 if test "$LINK_AS_NEEDED" = yes; then echo "link.sh: \$LINK_AS_NEEDED set to 'yes': invoking linker directly." - cat link.cmd - if sh link.cmd; then + cat link_$PROG.cmd + if sh link_$PROG.cmd; then exit_value=0 echo "link.sh: Linked fine" else @@ -49,53 +49,53 @@ else # - Don't remove the last -lm: On HP-UX Vim links OK but crashes when the GTK # GUI is started, because the "floor" symbol could not be resolved. # - cat link.cmd - if sh link.cmd; then + cat link_$PROG.cmd + if sh link_$PROG.cmd; then touch auto/link.sed - cp link.cmd linkit.sh + cp link_$PROG.cmd linkit_$PROG.sh for libname in SM ICE nsl dnet dnet_stub inet socket dir elf iconv Xt Xmu Xp Xpm X11 Xdmcp x w perl dl pthread thread readline m crypt attr; do cont=yes while test -n "$cont"; do - if grep "l$libname " linkit.sh >/dev/null; then - if test ! -f link1.sed; then + if grep "l$libname " linkit_$PROG.sh >/dev/null; then + if test ! -f link1_$PROG.sed; then echo "link.sh: OK, linking works, let's try omitting a few libraries." echo "link.sh: See auto/link.log for details." rm -f auto/link.log fi - echo "s/-l$libname *//" >link1.sed - sed -f auto/link.sed linkit2.sh - sed -f link1.sed linkit.sh + echo "s/-l$libname *//" >link1_$PROG.sed + sed -f auto/link.sed linkit2_$PROG.sh + sed -f link1_$PROG.sed linkit_$PROG.sh # keep the last -lm - if test $libname != "m" || grep "lm " linkit.sh >/dev/null; then + if test $libname != "m" || grep "lm " linkit_$PROG.sh >/dev/null; then echo "link.sh: Trying to omit the $libname library..." - cat linkit.sh >>auto/link.log + cat linkit_$PROG.sh >>auto/link.log # Redirect this link output, it may contain error messages which # should be ignored. - if sh linkit.sh >>auto/link.log 2>&1; then + if sh linkit_$PROG.sh >>auto/link.log 2>&1; then echo "link.sh: Vim doesn't need the $libname library!" - cat link1.sed >>auto/link.sed + cat link1_$PROG.sed >>auto/link.sed rm -f auto/pathdef.c else echo "link.sh: Vim DOES need the $libname library." cont= - cp link.cmd linkit.sh + cp link_$PROG.cmd linkit_$PROG.sh fi else cont= - cp link.cmd linkit.sh + cp link_$PROG.cmd linkit_$PROG.sh fi else cont= - cp link.cmd linkit.sh + cp link_$PROG.cmd linkit_$PROG.sh fi done done if test ! -f auto/pathdef.c; then $MAKE objects/pathdef.o fi - if test ! -f link1.sed; then + if test ! -f link1_$PROG.sed; then echo "link.sh: Linked fine, no libraries can be omitted" - touch link3.sed + touch link3_$PROG.sed fi else exit_value=$? @@ -107,29 +107,29 @@ fi # if test -s auto/link.sed; then echo "link.sh: Using auto/link.sed file to omit a few libraries" - sed -f auto/link.sed linkit.sh - cat linkit.sh - if sh linkit.sh; then + sed -f auto/link.sed linkit_$PROG.sh + cat linkit_$PROG.sh + if sh linkit_$PROG.sh; then exit_value=0 echo "link.sh: Linked fine with a few libraries omitted" else exit_value=$? echo "link.sh: Linking failed, making auto/link.sed empty and trying again" - mv -f auto/link.sed link2.sed + mv -f auto/link.sed link2_$PROG.sed touch auto/link.sed rm -f auto/pathdef.c $MAKE objects/pathdef.o fi fi -if test -f auto/link.sed -a ! -s auto/link.sed -a ! -f link3.sed; then +if test -f auto/link.sed -a ! -s auto/link.sed -a ! -f link3_$PROG.sed; then echo "link.sh: Using unmodified link command" - cat link.cmd - if sh link.cmd; then + cat link_$PROG.cmd + if sh link_$PROG.cmd; then exit_value=0 echo "link.sh: Linked OK" else exit_value=$? - if test -f link2.sed; then + if test -f link2_$PROG.sed; then echo "link.sh: Linking doesn't work at all, removing auto/link.sed" rm -f auto/link.sed fi @@ -141,7 +141,8 @@ fi # # cleanup # -rm -f link.cmd linkit.sh link1.sed link2.sed link3.sed linkit2.sh +rm -f link_$PROG.cmd linkit_$PROG.sh link1_$PROG.sed link2_$PROG.sed \ + link3_$PROG.sed linkit2_$PROG.sh # # return an error code if something went wrong diff --git a/src/version.c b/src/version.c index 33d4bf3ef6..997acf39dc 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2028, /**/ 2027, /**/