X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=mk-1st.awk;h=c5defc8fa72d066424366f22c4e5f06a5889cc20;hp=87dcdee2b545d74c0a1827d2a565b790213895cc;hb=2debf76e0c23a2b3d1333f0853317a7b2ae1777f;hpb=b6d7123594f6959ad0a6602b3952d9e6abe261a0;ds=sidebyside diff --git a/mk-1st.awk b/mk-1st.awk index 87dcdee2..c5defc8f 100644 --- a/mk-1st.awk +++ b/mk-1st.awk @@ -1,6 +1,6 @@ -# $Id: mk-1st.awk,v 1.75 2007/02/24 22:10:21 tom Exp $ +# $Id: mk-1st.awk,v 1.82 2009/11/28 20:09:38 tom Exp $ ############################################################################## -# Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. # +# Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # @@ -41,6 +41,7 @@ # ShlibVer ("rel", "abi" or "auto", to augment DoLinks variable) # ShlibVerInfix ("yes" or "no", determines location of version #) # TermlibRoot ("tinfo" or other root for libterm.so) +# TermlibSuffix (".so" or other suffix for libterm.so) # ReLink ("yes", or "no", flag to rebuild shared libs on install) # DoLinks ("yes", "reverse" or "no", flag to add symbolic links) # rmSoLocs ("yes" or "no", flag to add extra clean target) @@ -58,7 +59,7 @@ function is_ticlib() { return ( subset ~ /^ticlib$/ ); } function is_termlib() { - return ( subset ~ /^(ticlib\+)?termlib(\+ext_tinfo)?$/ ); + return ( subset ~ /^(ticlib\+)?termlib((\+[^+ ]+)*\+[a-z_]+_tinfo)?$/ ); } # see lib_name function lib_name_of(a_name) { @@ -163,6 +164,15 @@ function sharedlinks(directory) { printf ")\n" } } +# termlib may be named explicitly via "--with-termlib=XXX", which overrides +# any suffix. Temporarily override "suffix" to account for this. +function termlib_end_of() { + termlib_save_suffix = suffix; + suffix = TermlibSuffix; + termlib_temp_result = end_name_of(TermlibRoot); + suffix = termlib_save_suffix; + return termlib_temp_result; +} function shlib_build(directory) { dst_libs = sprintf("%s/%s", directory, end_name); printf "%s : \\\n", dst_libs @@ -171,14 +181,13 @@ function shlib_build(directory) { save_suffix = suffix sub(/^[^.]\./,".",suffix) if (directory != "../lib") { - printf "\t\t%s/%s \\\n", "../lib", end_name_of(TermlibRoot); + printf "\t\t%s/%s \\\n", "../lib", termlib_end_of(); } - printf "\t\t%s/%s \\\n", directory, end_name_of(TermlibRoot); + printf "\t\t%s/%s \\\n", directory, termlib_end_of(); suffix = save_suffix } printf "\t\t$(%s_OBJS)\n", OBJS printf "\t@echo linking $@\n" - print "\t-@rm -f %s", dst_libs; if ( is_ticlib() ) { make_shlib(OBJS, "TICS_LIST") } else if ( is_termlib() ) { @@ -191,22 +200,17 @@ function shlib_build(directory) { function shlib_install(directory) { src_lib1 = sprintf("../lib/%s", end_name); dst_lib1 = sprintf("%s/%s", directory, end_name); - printf "%s : \\\n", dst_libs + printf "%s : \\\n", dst_lib1 printf "\t\t%s \\\n", directory - printf "\t\t%s\n", src_libs + printf "\t\t%s\n", src_lib1 printf "\t@echo installing $@\n" - print "\t-@rm -f %s", dst_libs; printf "\t$(INSTALL_LIB) %s %s\n", src_lib1, dst_lib1; - if ( src_lib2 != "" ) { - printf "\t$(INSTALL_LIB) %s %s\n", src_lib2, dst_lib2; - } sharedlinks(directory) } function install_dll(directory,filename) { src_name = sprintf("../lib/%s", filename); dst_name = sprintf("$(DESTDIR)%s/%s", directory, filename); printf "\t@echo installing %s as %s\n", src_name, dst_name - printf "\t-@rm -f %s\n", dst_name if ( directory == "$(bindir)" ) { program = "$(INSTALL) -m 755"; } else { @@ -237,6 +241,7 @@ BEGIN { printf "# ShlibVer: %s\n", ShlibVer printf "# ShlibVerInfix: %s\n", ShlibVerInfix printf "# TermlibRoot: %s\n", TermlibRoot + printf "# TermlibSuffix: %s\n", TermlibSuffix printf "# ReLink: %s\n", ReLink printf "# DoLinks: %s\n", DoLinks printf "# rmSoLocs: %s\n", rmSoLocs @@ -381,7 +386,13 @@ END { } end_name = lib_name; printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS - printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(SHLIB_LIST)\n", compile, lib_name, OBJS + if ( is_ticlib() ) { + printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(TICS_LIST)\n", compile, lib_name, OBJS + } else if ( is_termlib() ) { + printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(TINFO_LIST)\n", compile, lib_name, OBJS + } else { + printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(SHLIB_LIST)\n", compile, lib_name, OBJS + } print "" print "install \\" print "install.libs \\" @@ -399,7 +410,7 @@ END { { end_name = lib_name; printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS - printf "\t$(AR) $(AR_OPTS) $@ $?\n" + printf "\t$(AR) $(ARFLAGS) $@ $?\n" printf "\t$(RANLIB) $@\n" if ( host == "vxworks" ) {