Ignore:
Timestamp:
Nov 3, 2024, 3:33:14 AM (9 months ago)
Author:
bird
Message:

sed: Hacked the new sed into building on win.amd64.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/sed/Makefile.kmk

    r3062 r3646  
    55
    66#
    7 # Copyright (c) 2006-2010 knut st. osmundsen <bird-kBuild-spamx@anduin.net>
     7# Copyright (c) 2006-2024 knut st. osmundsen <bird-kBuild-spamx@anduin.net>
    88#
    99# This file is part of kBuild.
     
    3535kmk_sed_DEPS = \
    3636        $(kmk_sed_0_OUTDIR)/config.h \
    37         $(kmk_sed_0_OUTDIR)/regex.h
     37        $(kmk_sed_0_OUTDIR)/version.h \
     38        $(kmk_sed_0_OUTDIR)/stdckdint.h
     39kmk_sed_DEPS.win = \
     40        $(kmk_sed_0_OUTDIR)/alloca.h \
     41        $(kmk_sed_0_OUTDIR)/getopt.h \
     42        $(kmk_sed_0_OUTDIR)/unistd.h \
     43        $(kmk_sed_0_OUTDIR)/langinfo.h \
     44        $(kmk_sed_0_OUTDIR)/sys/random.h
    3845kmk_sed_CLEAN = $(kmk_sed_DEPS)
    3946kmk_sed_CFLAGS.solaris = -std=gnu99
     
    4148        $(kmk_sed_0_OUTDIR) \
    4249        . \
    43         lib \
    44         intl
    45 kmk_sed_DEFS = \
    46         HAVE_CONFIG_H
    47 ifdef KBUILD_SOLARIS_10
    48  kmk_sed_CFLAGS += -std=gnu99
    49 endif
     50        lib
    5051kmk_sed_SOURCES = \
    5152        sed/sed.c \
    52         lib/regex.c \
     53        sed/debug.c \
    5354        sed/compile.c \
    5455        sed/execute.c \
     56        sed/mbcs.c \
    5557        sed/regexp.c \
    56         sed/fmt.c \
    57         sed/mbcs.c \
    58         lib/getopt1.c \
    59         lib/getopt.c \
    60         lib/utils.c
    61 kmk_sed_SOURCES.darwin = \
    62         lib/strverscmp.c \
    63         lib/obstack.c \
    64         lib/getline.c
    65 kmk_sed_SOURCES.dragonfly = \
    66         lib/strverscmp.c \
    67         lib/obstack.c \
    68         lib/getline.c
    69 kmk_sed_SOURCES.freebsd = \
    70         lib/strverscmp.c \
    71         lib/obstack.c \
    72         lib/getline.c
    73 kmk_sed_SOURCES.haiku = \
    74         lib/strverscmp.c \
    75         lib/obstack.c
    76 kmk_sed_SOURCES.netbsd = \
    77         lib/strverscmp.c \
    78         lib/obstack.c \
    79         lib/getline.c
    80 kmk_sed_SOURCES.openbsd = \
    81         lib/strverscmp.c \
    82         lib/obstack.c \
    83         lib/getline.c
    84 kmk_sed_SOURCES.solaris = \
    85         lib/strverscmp.c \
    86         lib/obstack.c \
    87         lib/getline.c
     58        sed/utils.c
     59
    8860kmk_sed_SOURCES.win = \
    89         lib/strverscmp.c \
    90         lib/obstack.c \
    91         lib/mkstemp.c \
    92         lib/getline.c \
    9361        ../lib/startuphacks-win.c
    9462
     63kmk_sed_LIBS = $(kmk_libsed_1_TARGET)
    9564kmk_sed_LIBS.win = $(LIB_KUTIL) # for stdout optimizations.
     65kmk_sed_BLDDIRS = \
     66        $(kmk_sed_0_OUTDIR)/sys/
     67
     68LIBRARIES += kmk_libsed
     69kmk_libsed_TEMPLATE = LIB
     70kmk_libsed_CFLAGS.solaris = -std=gnu99
     71kmk_libsed_DEFS = HAVE_CONFIG_H
     72kmk_libsed_INCS = \
     73        $(kmk_sed_0_OUTDIR) \
     74        . \
     75        lib
     76kmk_libsed_DEPS = $(kmk_sed_DEPS)
     77kmk_libsed_DEPS.win = $(kmk_sed_DEPS.win)
     78kmk_libsed_SOURCES = \
     79        lib/basename-lgpl.c \
     80        lib/binary-io.c \
     81        lib/c-ctype.c \
     82        lib/c-strcasecmp.c \
     83        lib/c-strncasecmp.c \
     84        lib/close-stream.c \
     85        lib/closeout.c \
     86        lib/dirname-lgpl.c \
     87        lib/progname.c \
     88        lib/getprogname.c \
     89        lib/obstack.c \
     90        lib/localcharset.c \
     91        lib/localeinfo.c \
     92        lib/xalloc-die.c \
     93        lib/xmalloc.c \
     94        lib/version-etc-fsf.c \
     95        lib/version-etc.c \
     96        lib/strverscmp.c \
     97        lib/dfa.c \
     98        lib/regex.c \
     99        lib/fwriting.c \
     100        lib/mkostemp.c \
     101        lib/getdelim.c \
     102        lib/reallocarray.c \
     103        lib/exitfail.c \
     104        lib/malloc/dynarray_resize.c \
     105        lib/tempname.c \
     106        lib/error.c \
     107        \
     108        ../kmk/getopt.c \
     109        ../kmk/getopt1.c
     110
     111kmk_libsed_SOURCES.win = \
     112        lib/memrchr.c \
     113        lib/getrandom.c \
     114        lib/mkdir.c \
     115        lib/stripslash.c
    96116
    97117include $(FILE_KBUILD_SUB_FOOTER)
     
    100120# Use checked in config.h instead of running ./configure for it.
    101121#
    102 kmk_sed_config.h.$(KBUILD_TARGET) := $(kmk_sed_DEFPATH)/config.h.$(KBUILD_TARGET)
     122kmk_sed_config-$(KBUILD_TARGET).h := $(kmk_sed_DEFPATH)/config-$(KBUILD_TARGET).h
    103123
    104 $(kmk_sed_0_OUTDIR)/config.h: $(kmk_sed_config.h.$(KBUILD_TARGET)) | $(call DIRDEP,$(kmk_sed_0_OUTDIR))
     124$(kmk_sed_0_OUTDIR)/config.h: $(kmk_sed_config-$(KBUILD_TARGET).h) | $(call DIRDEP,$(kmk_sed_0_OUTDIR))
    105125        $(CP) -f $^ $@
     126
     127$(kmk_sed_0_OUTDIR)/version.h: | $(call DIRDEP,$(kmk_sed_0_OUTDIR))
     128        $(APPEND) -tn "$@" \
     129                '#define Version "4.9"'
     130
     131$(kmk_sed_0_OUTDIR)/stdckdint.h: $(kmk_sed_DEFPATH)/lib/stdckdint.in.h | $(call DIRDEP,$(kmk_sed_0_OUTDIR))
     132        $(CP) -f $^ $@
     133
    106134
    107135#
    108136# Use the regex lib shipped with sed and not anything installed on the system.
    109137#
    110 $(kmk_sed_0_OUTDIR)/regex.h: $(kmk_sed_DEFPATH)/lib/regex_.h | $(call DIRDEP,$(kmk_sed_0_OUTDIR))
    111         $(CP) -f $^ $@
     138#$(kmk_sed_0_OUTDIR)/regex.h: $(kmk_sed_DEFPATH)/lib/regex_.h | $(call DIRDEP,$(kmk_sed_0_OUTDIR))
     139#       $(CP) -f $^ $@
    112140
     141
     142$(kmk_sed_0_OUTDIR)/alloca.h: | $(call DIRDEP,$(kmk_sed_0_OUTDIR))
     143        $(APPEND) -tn "$@" \
     144                "#ifdef _MSC_VER" \
     145                "# include <malloc.h>" \
     146                "#else" \
     147                "# include <stdlib.h>" \
     148                "#endif"
     149
     150$(kmk_sed_0_OUTDIR)/langinfo.h: | $(call DIRDEP,$(kmk_sed_0_OUTDIR))
     151        $(APPEND) -tn "$@" \
     152                ""
     153
     154$(kmk_sed_0_OUTDIR)/stdbool.h: | $(call DIRDEP,$(kmk_sed_0_OUTDIR))
     155        $(APPEND) -tn "$@" \
     156                "#ifndef _STDBOOL_H" \
     157                "#define _STDBOOL_H" \
     158                "typedef unsigned char _Bool;" \
     159                "#define bool _Bool" \
     160                "#define false (0)" \
     161                "#define true  (1)" \
     162                "#endif"
     163
     164
     165$(kmk_sed_0_OUTDIR)/unistd.h: | $(call DIRDEP,$(kmk_sed_0_OUTDIR))
     166        $(APPEND) -tn "$@" \
     167                "#ifndef _UNISTD_H" \
     168                "#define _UNISTD_H" \
     169                "#ifdef _MSC_VER" \
     170                "# include <io.h>" \
     171                "#endif" \
     172                "#endif"
     173
     174
     175$(kmk_sed_0_OUTDIR)/getopt.h: $(PATH_ROOT)/src/kmk/getopt.h | $(call DIRDEP,$(kmk_sed_0_OUTDIR))
     176        $(CP) -f "$^" "$@"
     177
     178$(kmk_sed_0_OUTDIR)/sys/random.h: $(kmk_sed_DEFPATH)/lib/sys_random.in.h | $(call DIRDEP,$(kmk_sed_0_OUTDIR)/sys/)
     179        $(RM) -f "$@"
     180        $(SED) \
     181                -e "s/@GUARD_PREFIX@/GNULIB_/g" \
     182                -e "s/@PRAGMA_SYSTEM_HEADER@//g" \
     183                -e "s/@PRAGMA_COLUMNS@//g" \
     184                -e "s/# *@INCLUDE_NEXT@.*//g" \
     185                \
     186                -e "s/@HAVE_SYS_RANDOM_H@/0/g" \
     187                -e "s/@GNULIB_GETRANDOM@/1/g" \
     188                -e "s/@REPLACE_GETRANDOM@/0/g" \
     189                -e "s/@HAVE_GETRANDOM@/0/g" \
     190                -e 's/.*The definitions of _GL_FUNCDECL_RPL.*/$(HASH)include "c++defs.h"/' \
     191                -e 's/.*The definitions of _GL_ARG_NONNULL.*/$(HASH)include "arg-nonnull.h"/' \
     192                -e 's/.*The definitions of _GL_WARN_ON_USE.*/$(HASH)include "warn-on-use.h"/' \
     193                \
     194                --output "$@" "$<"
     195
Note: See TracChangeset for help on using the changeset viewer.