code update to proudct a single hawk binary including sed

This commit is contained in:
2025-05-16 00:41:36 +09:00
parent b80ee515b6
commit a5f7e9d43c
31 changed files with 6758 additions and 3686 deletions

View File

@ -13,12 +13,12 @@ LDFLAGS_COMMON = -L$(abs_builddir)/../lib -L$(libdir)
##Use -l for third party libraries for automatic inclusion to DEPENDENCIES .
LIBADD_COMMON = ../lib/libhawk.la
bin_PROGRAMS = hawk hawk-sed
bin_PROGRAMS = hawk
##################################################
# hawk
##################################################
hawk_SOURCES = hawk.c
hawk_SOURCES = hawk.c sed.c main.h
hawk_CPPFLAGS = $(CPPFLAGS_COMMON)
hawk_CFLAGS = $(CFLAGS_COMMON)
hawk_LDFLAGS = $(LDFLAGS_COMMON)
@ -37,9 +37,3 @@ hawk_LDFLAGS = $(LDFLAGS_COMMON)
## of different behavior depending on the libtool tag.
##
hawk_LDADD = $(LIBADD_COMMON) $(LIBM)
hawk_sed_SOURCES = sed.c
hawk_sed_CPPFLAGS = $(CPPFLAGS_COMMON)
hawk_sed_CFLAGS = $(CFLAGS_COMMON)
hawk_sed_LDFLAGS = $(LDFLAGS_COMMON)
hawk_sed_LDADD = $(LIBADD_COMMON) $(LIBM)

View File

@ -1,7 +1,7 @@
# Makefile.in generated by automake 1.16.5 from Makefile.am.
# Makefile.in generated by automake 1.17 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# Copyright (C) 1994-2024 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -70,6 +70,8 @@ am__make_running_with_option = \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@ -88,7 +90,7 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
bin_PROGRAMS = hawk$(EXEEXT) hawk-sed$(EXEEXT)
bin_PROGRAMS = hawk$(EXEEXT)
subdir = bin
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_sign.m4 \
@ -109,7 +111,7 @@ CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am_hawk_OBJECTS = hawk-hawk.$(OBJEXT)
am_hawk_OBJECTS = hawk-hawk.$(OBJEXT) hawk-sed.$(OBJEXT)
hawk_OBJECTS = $(am_hawk_OBJECTS)
am__DEPENDENCIES_1 =
hawk_DEPENDENCIES = $(LIBADD_COMMON) $(am__DEPENDENCIES_1)
@ -120,12 +122,6 @@ am__v_lt_1 =
hawk_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(hawk_CFLAGS) $(CFLAGS) \
$(hawk_LDFLAGS) $(LDFLAGS) -o $@
am_hawk_sed_OBJECTS = hawk_sed-sed.$(OBJEXT)
hawk_sed_OBJECTS = $(am_hawk_sed_OBJECTS)
hawk_sed_DEPENDENCIES = $(LIBADD_COMMON) $(am__DEPENDENCIES_1)
hawk_sed_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(hawk_sed_CFLAGS) \
$(CFLAGS) $(hawk_sed_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@ -141,8 +137,7 @@ am__v_at_1 =
DEFAULT_INCLUDES =
depcomp = $(SHELL) $(top_srcdir)/ac/depcomp
am__maybe_remake_depfiles = depfiles
am__depfiles_remade = ./$(DEPDIR)/hawk-hawk.Po \
./$(DEPDIR)/hawk_sed-sed.Po
am__depfiles_remade = ./$(DEPDIR)/hawk-hawk.Po ./$(DEPDIR)/hawk-sed.Po
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@ -162,8 +157,8 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(hawk_SOURCES) $(hawk_sed_SOURCES)
DIST_SOURCES = $(hawk_SOURCES) $(hawk_sed_SOURCES)
SOURCES = $(hawk_SOURCES)
DIST_SOURCES = $(hawk_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@ -298,8 +293,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@
am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
ax_pthread_config = @ax_pthread_config@
bindir = @bindir@
build = @build@
@ -357,16 +354,11 @@ LIBADD_COMMON = ../lib/libhawk.la
##################################################
# hawk
##################################################
hawk_SOURCES = hawk.c
hawk_SOURCES = hawk.c sed.c main.h
hawk_CPPFLAGS = $(CPPFLAGS_COMMON)
hawk_CFLAGS = $(CFLAGS_COMMON)
hawk_LDFLAGS = $(LDFLAGS_COMMON)
hawk_LDADD = $(LIBADD_COMMON) $(LIBM)
hawk_sed_SOURCES = sed.c
hawk_sed_CPPFLAGS = $(CPPFLAGS_COMMON)
hawk_sed_CFLAGS = $(CFLAGS_COMMON)
hawk_sed_LDFLAGS = $(LDFLAGS_COMMON)
hawk_sed_LDADD = $(LIBADD_COMMON) $(LIBM)
all: all-am
.SUFFIXES:
@ -439,25 +431,16 @@ uninstall-binPROGRAMS:
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
cd "$(DESTDIR)$(bindir)" && $(am__rm_f) $$files
clean-binPROGRAMS:
@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
$(am__rm_f) $(bin_PROGRAMS)
test -z "$(EXEEXT)" || $(am__rm_f) $(bin_PROGRAMS:$(EXEEXT)=)
hawk$(EXEEXT): $(hawk_OBJECTS) $(hawk_DEPENDENCIES) $(EXTRA_hawk_DEPENDENCIES)
@rm -f hawk$(EXEEXT)
$(AM_V_CCLD)$(hawk_LINK) $(hawk_OBJECTS) $(hawk_LDADD) $(LIBS)
hawk-sed$(EXEEXT): $(hawk_sed_OBJECTS) $(hawk_sed_DEPENDENCIES) $(EXTRA_hawk_sed_DEPENDENCIES)
@rm -f hawk-sed$(EXEEXT)
$(AM_V_CCLD)$(hawk_sed_LINK) $(hawk_sed_OBJECTS) $(hawk_sed_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@ -465,11 +448,11 @@ distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hawk-hawk.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hawk_sed-sed.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hawk-sed.Po@am__quote@ # am--include-marker
$(am__depfiles_remade):
@$(MKDIR_P) $(@D)
@echo '# dummy' >$@-t && $(am__mv) $@-t $@
@: >>$@
am--depfiles: $(am__depfiles_remade)
@ -511,19 +494,19 @@ hawk-hawk.obj: hawk.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hawk_CPPFLAGS) $(CPPFLAGS) $(hawk_CFLAGS) $(CFLAGS) -c -o hawk-hawk.obj `if test -f 'hawk.c'; then $(CYGPATH_W) 'hawk.c'; else $(CYGPATH_W) '$(srcdir)/hawk.c'; fi`
hawk_sed-sed.o: sed.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hawk_sed_CPPFLAGS) $(CPPFLAGS) $(hawk_sed_CFLAGS) $(CFLAGS) -MT hawk_sed-sed.o -MD -MP -MF $(DEPDIR)/hawk_sed-sed.Tpo -c -o hawk_sed-sed.o `test -f 'sed.c' || echo '$(srcdir)/'`sed.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hawk_sed-sed.Tpo $(DEPDIR)/hawk_sed-sed.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed.c' object='hawk_sed-sed.o' libtool=no @AMDEPBACKSLASH@
hawk-sed.o: sed.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hawk_CPPFLAGS) $(CPPFLAGS) $(hawk_CFLAGS) $(CFLAGS) -MT hawk-sed.o -MD -MP -MF $(DEPDIR)/hawk-sed.Tpo -c -o hawk-sed.o `test -f 'sed.c' || echo '$(srcdir)/'`sed.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hawk-sed.Tpo $(DEPDIR)/hawk-sed.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed.c' object='hawk-sed.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hawk_sed_CPPFLAGS) $(CPPFLAGS) $(hawk_sed_CFLAGS) $(CFLAGS) -c -o hawk_sed-sed.o `test -f 'sed.c' || echo '$(srcdir)/'`sed.c
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hawk_CPPFLAGS) $(CPPFLAGS) $(hawk_CFLAGS) $(CFLAGS) -c -o hawk-sed.o `test -f 'sed.c' || echo '$(srcdir)/'`sed.c
hawk_sed-sed.obj: sed.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hawk_sed_CPPFLAGS) $(CPPFLAGS) $(hawk_sed_CFLAGS) $(CFLAGS) -MT hawk_sed-sed.obj -MD -MP -MF $(DEPDIR)/hawk_sed-sed.Tpo -c -o hawk_sed-sed.obj `if test -f 'sed.c'; then $(CYGPATH_W) 'sed.c'; else $(CYGPATH_W) '$(srcdir)/sed.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hawk_sed-sed.Tpo $(DEPDIR)/hawk_sed-sed.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed.c' object='hawk_sed-sed.obj' libtool=no @AMDEPBACKSLASH@
hawk-sed.obj: sed.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hawk_CPPFLAGS) $(CPPFLAGS) $(hawk_CFLAGS) $(CFLAGS) -MT hawk-sed.obj -MD -MP -MF $(DEPDIR)/hawk-sed.Tpo -c -o hawk-sed.obj `if test -f 'sed.c'; then $(CYGPATH_W) 'sed.c'; else $(CYGPATH_W) '$(srcdir)/sed.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hawk-sed.Tpo $(DEPDIR)/hawk-sed.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sed.c' object='hawk-sed.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hawk_sed_CPPFLAGS) $(CPPFLAGS) $(hawk_sed_CFLAGS) $(CFLAGS) -c -o hawk_sed-sed.obj `if test -f 'sed.c'; then $(CYGPATH_W) 'sed.c'; else $(CYGPATH_W) '$(srcdir)/sed.c'; fi`
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hawk_CPPFLAGS) $(CPPFLAGS) $(hawk_CFLAGS) $(CFLAGS) -c -o hawk-sed.obj `if test -f 'sed.c'; then $(CYGPATH_W) 'sed.c'; else $(CYGPATH_W) '$(srcdir)/sed.c'; fi`
mostlyclean-libtool:
-rm -f *.lo
@ -646,8 +629,8 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-$(am__rm_f) $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@ -657,8 +640,8 @@ clean: clean-am
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f ./$(DEPDIR)/hawk-hawk.Po
-rm -f ./$(DEPDIR)/hawk_sed-sed.Po
-rm -f ./$(DEPDIR)/hawk-hawk.Po
-rm -f ./$(DEPDIR)/hawk-sed.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@ -704,8 +687,8 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f ./$(DEPDIR)/hawk-hawk.Po
-rm -f ./$(DEPDIR)/hawk_sed-sed.Po
-rm -f ./$(DEPDIR)/hawk-hawk.Po
-rm -f ./$(DEPDIR)/hawk-sed.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@ -746,3 +729,10 @@ uninstall-am: uninstall-binPROGRAMS
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%

View File

@ -24,6 +24,8 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "main.h"
#include <hawk-std.h>
#include <hawk-utl.h>
#include <hawk-fmt.h>
@ -677,6 +679,7 @@ static int process_argv (int argc, hawk_bch_t* argv[], struct arg_t* arg)
{ ":field-separator", 'F' },
{ ":assign", 'v' },
{ ":memory-limit", 'm' },
{ ":mode", 'M' },
{ ":script-encoding", '\0' },
{ ":console-encoding", '\0' },
@ -1345,7 +1348,7 @@ oops:
/* ---------------------------------------------------------------------- */
int main (int argc, hawk_bch_t* argv[])
static int main_hawk(int argc, hawk_bch_t* argv[])
{
int ret;
@ -1403,6 +1406,31 @@ int main (int argc, hawk_bch_t* argv[])
return ret;
}
int main(int argc, hawk_bch_t* argv[])
{
const hawk_bch_t* base;
base = hawk_get_base_name_bcstr(argv[0]);
if (hawk_comp_bcstr(base, "sed", 0) == 0 || hawk_comp_bcstr(base, "hawk-sed", 0) == 0)
{
/* sed ... */
/* hawk-sed ... */
return main_sed(argc, argv);
}
if (argc >= 2 && hawk_comp_bcstr(argv[1], "sed", 0) == 0)
{
/* hawk sed ... */
return main_sed(argc - 1, &argv[1]);
}
else if (argc >= 2 && hawk_comp_bcstr(argv[1], "awk", 0) == 0)
{
/* hawk awk ... */
return main_hawk(argc - 1, &argv[1]);
}
return main_hawk(argc, argv);
}
/* ---------------------------------------------------------------------- */

18
bin/main.h Normal file
View File

@ -0,0 +1,18 @@
#ifndef _MAIN_H_
#define _MAIN_H_
#include <hawk.h>
#if defined(__cplusplus)
extern "C" {
#endif
int main_sed(int argc, hawk_bch_t* argv[]);
#if defined(__cplusplus)
}
#endif
#endif

View File

@ -1114,8 +1114,7 @@ oops:
return ret;
}
int main (int argc, hawk_bch_t* argv[])
int main_sed(int argc, hawk_bch_t* argv[])
{
int ret;