diff options
Diffstat (limited to 'contrib/ncurses/mk-1st.awk')
-rw-r--r-- | contrib/ncurses/mk-1st.awk | 474 |
1 files changed, 0 insertions, 474 deletions
diff --git a/contrib/ncurses/mk-1st.awk b/contrib/ncurses/mk-1st.awk deleted file mode 100644 index e2f54ea..0000000 --- a/contrib/ncurses/mk-1st.awk +++ /dev/null @@ -1,474 +0,0 @@ -# $Id: mk-1st.awk,v 1.78 2007/03/24 22:10:55 tom Exp $ -############################################################################## -# Copyright (c) 1998-2006,2007 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"), # -# to deal in the Software without restriction, including without limitation # -# the rights to use, copy, modify, merge, publish, distribute, distribute # -# with modifications, sublicense, and/or sell copies of the Software, and to # -# permit persons to whom the Software is furnished to do so, subject to the # -# following conditions: # -# # -# The above copyright notice and this permission notice shall be included in # -# all copies or substantial portions of the Software. # -# # -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # -# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # -# DEALINGS IN THE SOFTWARE. # -# # -# Except as contained in this notice, the name(s) of the above copyright # -# holders shall not be used in advertising or otherwise to promote the sale, # -# use or other dealings in this Software without prior written # -# authorization. # -############################################################################## -# -# Author: Thomas E. Dickey -# -# Generate list of objects for a given model library -# Variables: -# name (library name, e.g., "ncurses", "panel", "forms", "menus") -# traces ("all" or "DEBUG", to control whether tracing is compiled in) -# MODEL (e.g., "DEBUG", uppercase; toupper is not portable) -# model (directory into which we compile, e.g., "obj") -# prefix (e.g., "lib", for Unix-style libraries) -# suffix (e.g., "_g.a", for debug libraries) -# subset ("none", "base", "base+ext_funcs" or "termlib", etc.) -# 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) -# ldconfig (path for this tool, if used) -# overwrite ("yes" or "no", flag to add link to libcurses.a -# depend (optional dependencies for all objects, e.g, ncurses_cfg.h) -# host (cross-compile host, if any) -# -# Notes: -# CLIXs nawk does not like underscores in command-line variable names. -# Mixed-case variable names are ok. -# HP/UX requires shared libraries to have executable permissions. -# -function is_ticlib() { - return ( subset ~ /^ticlib$/ ); - } -function is_termlib() { - return ( subset ~ /^(ticlib\+)?termlib(\+ext_tinfo)?$/ ); - } -# see lib_name -function lib_name_of(a_name) { - return sprintf("%s%s%s", prefix, a_name, suffix) - } -# see imp_name -function imp_name_of(a_name) { - if (ShlibVerInfix == "cygdll") { - result = sprintf("%s%s%s.a", prefix, a_name, suffix); - } else { - result = ""; - } - return result; - } -# see abi_name -function abi_name_of(a_name) { - if (ShlibVerInfix == "cygdll") { - result = sprintf("%s%s$(ABI_VERSION)%s", "cyg", a_name, suffix); - } else if (ShlibVerInfix == "yes") { - result = sprintf("%s%s.$(ABI_VERSION)%s", prefix, a_name, suffix); - } else { - result = sprintf("%s.$(ABI_VERSION)", lib_name_of(a_name)); - } - return result; - } -# see rel_name -function rel_name_of(a_name) { - if (ShlibVerInfix == "cygdll") { - result = sprintf("%s%s$(REL_VERSION)%s", "cyg", a_name, suffix); - } else if (ShlibVerInfix == "yes") { - result = sprintf("%s%s.$(REL_VERSION)%s", prefix, a_name, suffix); - } else { - result = sprintf("%s.$(REL_VERSION)", lib_name_of(a_name)); - } - return result; - } -# see end_name -function end_name_of(a_name) { - if ( MODEL != "SHARED" ) { - result = lib_name_of(a_name); - } else if ( DoLinks == "reverse") { - result = lib_name_of(a_name); - } else { - if ( ShlibVer == "rel" ) { - result = rel_name_of(a_name); - } else if ( ShlibVer == "abi" || ShlibVer == "cygdll" ) { - result = abi_name_of(a_name); - } else { - result = lib_name_of(a_name); - } - } - return result - } -function symlink(src,dst) { - if ( src != dst ) { - printf "rm -f %s; ", dst - printf "$(LN_S) %s %s; ", src, dst - } - } -function rmlink(directory, dst) { - printf "\t-rm -f %s/%s\n", directory, dst - } -function removelinks(directory) { - rmlink(directory, end_name); - if ( DoLinks == "reverse" ) { - if ( ShlibVer == "rel" ) { - rmlink(directory, abi_name); - rmlink(directory, rel_name); - } else if ( ShlibVer == "abi" ) { - rmlink(directory, abi_name); - } - } else { - if ( ShlibVer == "rel" ) { - rmlink(directory, abi_name); - rmlink(directory, lib_name); - } else if ( ShlibVer == "abi" ) { - rmlink(directory, lib_name); - } - } - } -function make_shlib(objs, shlib_list) { - printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(%s) $(LDFLAGS)\n", objs, shlib_list - } -function sharedlinks(directory) { - if ( ShlibVer != "auto" && ShlibVer != "cygdll" ) { - printf "\tcd %s && (", directory - if ( DoLinks == "reverse" ) { - if ( ShlibVer == "rel" ) { - symlink(lib_name, abi_name); - symlink(abi_name, rel_name); - } else if ( ShlibVer == "abi" ) { - symlink(lib_name, abi_name); - } - } else { - if ( ShlibVer == "rel" ) { - symlink(rel_name, abi_name); - symlink(abi_name, lib_name); - } else if ( ShlibVer == "abi" ) { - symlink(abi_name, lib_name); - } - } - 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 - printf "\t\t%s \\\n", directory - if (subset ~ /^base/ || subset == "ticlib" ) { - save_suffix = suffix - sub(/^[^.]\./,".",suffix) - if (directory != "../lib") { - printf "\t\t%s/%s \\\n", "../lib", termlib_end_of(); - } - 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" - if ( is_ticlib() ) { - make_shlib(OBJS, "TICS_LIST") - } else if ( is_termlib() ) { - make_shlib(OBJS, "TINFO_LIST") - } else { - make_shlib(OBJS, "SHLIB_LIST") - } - sharedlinks(directory) - } -function shlib_install(directory) { - src_lib1 = sprintf("../lib/%s", end_name); - dst_lib1 = sprintf("%s/%s", directory, end_name); - printf "%s : \\\n", dst_lib1 - printf "\t\t%s \\\n", directory - printf "\t\t%s\n", src_lib1 - printf "\t@echo installing $@\n" - printf "\t$(INSTALL_LIB) %s %s\n", src_lib1, dst_lib1; - 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 - if ( directory == "$(bindir)" ) { - program = "$(INSTALL) -m 755"; - } else { - program = "$(INSTALL_LIB)"; - } - printf "\t%s %s %s\n", program, src_name, dst_name - } -BEGIN { - found = 0 - using = 0 - } - /^@/ { - using = 0 - if (subset == "none") { - using = 1 - } else if (index(subset,$2) > 0) { - if (using == 0) { - if (found == 0) { - print "" - printf "# generated by mk-1st.awk (subset=%s)\n", subset - printf "# name: %s\n", name - printf "# traces: %s\n", traces - printf "# MODEL: %s\n", MODEL - printf "# model: %s\n", model - printf "# prefix: %s\n", prefix - printf "# suffix: %s\n", suffix - printf "# subset: %s\n", subset - 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 - printf "# ldconfig: %s\n", ldconfig - printf "# overwrite: %s\n", overwrite - printf "# depend: %s\n", depend - printf "# host: %s\n", host - print "" - } - using = 1 - } - if ( is_ticlib() ) { - OBJS = MODEL "_P" - } else if ( is_termlib() ) { - OBJS = MODEL "_T" - } else { - OBJS = MODEL - } - } - } - /^[@#]/ { - next - } - $1 ~ /trace/ { - if (traces != "all" && traces != MODEL && $1 != "lib_trace") - next - } - { - if (using \ - && ( $1 != "link_test" ) \ - && ( $2 == "lib" \ - || $2 == "progs" \ - || $2 == "c++" \ - || $2 == "tack" )) - { - if ( found == 0 ) - { - printf "%s_OBJS =", OBJS - if ( $2 == "lib" ) - found = 1 - else - found = 2 - } - printf " \\\n\t../%s/%s$o", model, $1 - } - } -END { - print "" - if ( found != 0 ) - { - printf "\n$(%s_OBJS) : %s\n", OBJS, depend - } - if ( found == 1 ) - { - print "" - lib_name = lib_name_of(name); - if ( MODEL == "SHARED" ) - { - abi_name = abi_name_of(name); - rel_name = rel_name_of(name); - imp_name = imp_name_of(name); - end_name = end_name_of(name); - - shlib_build("../lib") - - print "" - print "install \\" - print "install.libs \\" - - if ( ShlibVer == "cygdll" ) { - - dst_dirs = "$(DESTDIR)$(bindir) $(DESTDIR)$(libdir)"; - printf "install.%s :: %s $(LIBRARIES)\n", name, dst_dirs - install_dll("$(bindir)",end_name); - install_dll("$(libdir)",imp_name); - - } else { - - lib_dir = "$(DESTDIR)$(libdir)"; - printf "install.%s :: %s/%s\n", name, lib_dir, end_name - print "" - if ( ReLink == "yes" ) { - shlib_build(lib_dir) - } else { - shlib_install(lib_dir) - } - } - - if ( overwrite == "yes" && name == "ncurses" ) - { - if ( ShlibVer == "cygdll" ) { - ovr_name = sprintf("libcurses%s.a", suffix) - printf "\t@echo linking %s to %s\n", imp_name, ovr_name - printf "\tcd $(DESTDIR)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, imp_name, ovr_name - } else { - ovr_name = sprintf("libcurses%s", suffix) - printf "\t@echo linking %s to %s\n", end_name, ovr_name - printf "\tcd $(DESTDIR)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, end_name, ovr_name - } - } - if ( ldconfig != "" && ldconfig != ":" ) { - printf "\t- test -z \"$(DESTDIR)\" && %s\n", ldconfig - } - print "" - print "uninstall \\" - print "uninstall.libs \\" - printf "uninstall.%s ::\n", name - if ( ShlibVer == "cygdll" ) { - - printf "\t@echo uninstalling $(DESTDIR)$(bindir)/%s\n", end_name - printf "\t-@rm -f $(DESTDIR)$(bindir)/%s\n", end_name - - printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", imp_name - printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", imp_name - - } else { - printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", end_name - removelinks("$(DESTDIR)$(libdir)") - if ( overwrite == "yes" && name == "ncurses" ) - { - if ( ShlibVer == "cygdll" ) { - ovr_name = sprintf("libcurses%s.a", suffix) - } else { - ovr_name = sprintf("libcurses%s", suffix) - } - printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", ovr_name - } - } - if ( rmSoLocs == "yes" ) { - print "" - print "mostlyclean \\" - print "clean ::" - printf "\t-@rm -f so_locations\n" - } - } - else if ( MODEL == "LIBTOOL" ) - { - if ( $2 == "c++" ) { - compile="CXX" - } else { - compile="CC" - } - 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 - print "" - print "install \\" - print "install.libs \\" - printf "install.%s :: $(DESTDIR)$(libdir) ../lib/%s\n", name, lib_name - printf "\t@echo installing ../lib/%s as $(DESTDIR)$(libdir)/%s\n", lib_name, lib_name - printf "\tcd ../lib; $(LIBTOOL_INSTALL) $(INSTALL) %s $(DESTDIR)$(libdir)\n", lib_name - print "" - print "uninstall \\" - print "uninstall.libs \\" - printf "uninstall.%s ::\n", name - printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", lib_name - printf "\t-@$(LIBTOOL_UNINSTALL) rm -f $(DESTDIR)$(libdir)/%s\n", lib_name - } - else - { - end_name = lib_name; - printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS - printf "\t$(AR) $(AR_OPTS) $@ $?\n" - printf "\t$(RANLIB) $@\n" - if ( host == "vxworks" ) - { - printf "\t$(LD) $(LD_OPTS) $? -o $(@:.a=$o)\n" - } - print "" - print "install \\" - print "install.libs \\" - printf "install.%s :: $(DESTDIR)$(libdir) ../lib/%s\n", name, lib_name - printf "\t@echo installing ../lib/%s as $(DESTDIR)$(libdir)/%s\n", lib_name, lib_name - printf "\t$(INSTALL_DATA) ../lib/%s $(DESTDIR)$(libdir)/%s\n", lib_name, lib_name - if ( overwrite == "yes" && lib_name == "libncurses.a" ) - { - printf "\t@echo linking libcurses.a to libncurses.a\n" - printf "\t-@rm -f $(DESTDIR)$(libdir)/libcurses.a\n" - printf "\t(cd $(DESTDIR)$(libdir) && $(LN_S) libncurses.a libcurses.a)\n" - } - printf "\t$(RANLIB) $(DESTDIR)$(libdir)/%s\n", lib_name - if ( host == "vxworks" ) - { - printf "\t@echo installing ../lib/lib%s$o as $(DESTDIR)$(libdir)/lib%s$o\n", name, name - printf "\t$(INSTALL_DATA) ../lib/lib%s$o $(DESTDIR)$(libdir)/lib%s$o\n", name, name - } - print "" - print "uninstall \\" - print "uninstall.libs \\" - printf "uninstall.%s ::\n", name - printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", lib_name - printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", lib_name - if ( overwrite == "yes" && lib_name == "libncurses.a" ) - { - printf "\t@echo linking libcurses.a to libncurses.a\n" - printf "\t-@rm -f $(DESTDIR)$(libdir)/libcurses.a\n" - } - if ( host == "vxworks" ) - { - printf "\t@echo uninstalling $(DESTDIR)$(libdir)/lib%s$o\n", name - printf "\t-@rm -f $(DESTDIR)$(libdir)/lib%s$o\n", name - } - } - print "" - print "clean ::" - removelinks("../lib"); - print "" - print "mostlyclean::" - printf "\t-rm -f $(%s_OBJS)\n", OBJS - if ( MODEL == "LIBTOOL" ) { - printf "\t-$(LIBTOOL_CLEAN) rm -f $(%s_OBJS:$o=.lo)\n", OBJS - } - } - else if ( found == 2 ) - { - print "" - print "mostlyclean::" - printf "\t-rm -f $(%s_OBJS)\n", OBJS - if ( MODEL == "LIBTOOL" ) { - printf "\t-$(LIBTOOL_CLEAN) rm -f $(%s_OBJS:$o=.lo)\n", OBJS - } - print "" - print "clean ::" - printf "\t-rm -f $(%s_OBJS)\n", OBJS - if ( MODEL == "LIBTOOL" ) { - printf "\t-$(LIBTOOL_CLEAN) rm -f $(%s_OBJS:$o=.lo)\n", OBJS - } - } - } -# vile:ts=4 sw=4 |