Changeset 2421


Ignore:
Timestamp:
Oct 17, 2010, 11:27:53 PM (15 years ago)
Author:
bird
Message:

OpenBSD hacks.

Location:
trunk
Files:
7 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r2413 r2421  
    9696PATH_GNUMAKE_SRC ?= $(PATH_ROOT)/src/kmk
    9797
     98
     99#
     100# Various platform specific hacks.
     101#
     102ifn1of ($(KBUILD_TARGET), openbsd)
     103 GCC_Wextra = -Wextra
     104endif
     105if1of ($(KBUILD_TARGET), openbsd)
     106 TOOL_FLEX_LEX = gflex
     107endif
    98108
    99109#
     
    179189# Template for building commandline tools.
    180190#
    181 TEMPLATE_BIN = Commandline binary
     191TEMPLATE_BIN = Command line binary
    182192
    183193TEMPLATE_BIN_INCS               = $(PATH_ROOT)/src/lib
     
    224234 TEMPLATE_BIN_CFLAGS            = -g -mmacosx-version-min=10.$(KBUILD_MACOSX_TARGET_VERSION) -isysroot $(KBUILD_MACOSX_SDK)
    225235 ifeq ($(USER),bird)
    226   TEMPLATE_BIN_CFLAGS          += -Wall -Wextra -pedantic -Wno-unused-parameter
     236  TEMPLATE_BIN_CFLAGS          += -Wall $(GCC_Wextra) -pedantic -Wno-unused-parameter
    227237  TEMPLATE_BIN_DEFS            += NO_ENUM_BITFIELDS
    228238 endif
     
    285295 TEMPLATE_BIN_CFLAGS            = -g
    286296 ifeq ($(USER),bird)
    287   TEMPLATE_BIN_CFLAGS          += -Wall -Wextra -pedantic -Wno-unused-parameter
     297  TEMPLATE_BIN_CFLAGS          += -Wall $(GCC_Wextra) -pedantic -Wno-unused-parameter
    288298  TEMPLATE_BIN_DEFS            += NO_ENUM_BITFIELDS
    289299 endif
     
    317327
    318328#
     329# Template for building threaded binaries.
     330#
     331TEMPLATE_BIN-THREADED = Threaded command line binary
     332TEMPLATE_BIN-THREADED_EXTENDS = BIN
     333TEMPLATE_BIN-THREADED_EXTENDS_BY = appending
     334if1of ($(KBUILD_TARGET), dragonfly freebsd openbsd)
     335 TEMPLATE_BIN-THREADED_LIBS = pthread
     336endif
     337
     338#
    319339# Template for building libraries for the tools.
    320340#
  • trunk/bootstrap.gmk

    r2413 r2421  
    4141# Note to self on bootstrapping solaris.sparc64:
    4242#   SED_MAKE_DEFS="SED=gsed" AUTOPOINT=true ACLOCAL=aclocal-1.10 AUTOMAKE=automake-1.10 nice ./kBuild/env.sh --full gmake -f bootstrap.gmk
     43#
     44# Note to self on bootstrapping openbsd:
     45#   AUTOCONF_VERSION=2.59 AUTOMAKE_VERSION=1.9 ./kBuild/env.sh --full gmake -f bootstrap.gmk
    4346#
    4447
  • trunk/src/kmk/Makefile.kmk

    r2419 r2421  
    3232#
    3333TEMPLATE_BIN-KMK = Template for src/gmake binaries
    34 TEMPLATE_BIN-KMK_EXTENDS = BIN
     34TEMPLATE_BIN-KMK_EXTENDS = BIN-THREADED
    3535TEMPLATE_BIN-KMK_DEFS = \
    3636        HAVE_CONFIG_H \
     
    5252        $(PATH_kmk)/pwd.h \
    5353        $(PATH_kmk)/inttypes.h
    54 TEMPLATE_BIN-KMK_CFLAGS.win.amd64 = $(TEMPLATE_BIN_CFLAGS.win.amd64) -wd4244 -wd4267
     54TEMPLATE_BIN-KMK_CFLAGS.win.amd64 = $(TEMPLATE_BIN-THREADED_CFLAGS.win.amd64) -wd4244 -wd4267
    5555TEMPLATE_BIN-KMK_CLEAN.win = $(TEMPLATE_BIN-KMK_DEPS.win)
    56 TEMPLATE_BIN-KMK_INCS = $(PATH_kmk) . $(TEMPLATE_BIN_INCS)
     56TEMPLATE_BIN-KMK_INCS = $(PATH_kmk) . $(TEMPLATE_BIN-THREADED_INCS)
    5757TEMPLATE_BIN-KMK_INCS.darwin = glob
    5858TEMPLATE_BIN-KMK_INCS.dragonfly = glob
    5959TEMPLATE_BIN-KMK_INCS.freebsd = glob
     60TEMPLATE_BIN-KMK_INCS.openbsd = glob
    6061TEMPLATE_BIN-KMK_INCS.solaris = glob
    61 TEMPLATE_BIN-KMK_LIBS = $(TEMPLATE_BIN_LIBS) $(TARGET_kmkmissing) $(LIB_KUTIL)
     62TEMPLATE_BIN-KMK_LIBS = $(TEMPLATE_BIN-THREADED_LIBS) $(TARGET_kmkmissing) $(LIB_KUTIL)
    6263ifdef ELECTRIC_HEAP # for electric heap (see electric.c) - windows only.
    6364ifeq ($(KBUILD_TARGET),win)
    64  TEMPLATE_BIN-KMK_CFLAGS = $(TEMPLATE_BIN_CFLAGS) /FI$(kmk_PATH)/electric.h -DELECTRIC_HEAP=1
     65 TEMPLATE_BIN-KMK_CFLAGS = $(TEMPLATE_BIN-THREADED_CFLAGS) /FI$(kmk_PATH)/electric.h -DELECTRIC_HEAP=1
    6566else
    66  TEMPLATE_BIN-KMK_CFLAGS = $(TEMPLATE_BIN_CFLAGS) -include $(kmk_PATH)/electric.h -DELECTRIC_HEAP=1
     67 TEMPLATE_BIN-KMK_CFLAGS = $(TEMPLATE_BIN-THREADED_CFLAGS) -include $(kmk_PATH)/electric.h -DELECTRIC_HEAP=1
    6768endif
    6869endif
     
    103104kmkmissing_SOURCES.linux += \
    104105        kmkbuiltin/strlcpy.c
     106
     107kmkmissing_SOURCES.openbsd = \
     108        kmkbuiltin/openbsd.c \
     109        glob/glob.c
    105110
    106111kmkmissing_SOURCES.solaris = \
     
    216221        remote-stub.c
    217222
    218 kmk_LIBS.dragonfly = pthread
    219 
    220 kmk_LIBS.freebsd = pthread
    221223kmk_DEFS.freebsd.x86 = CONFIG_WITHOUT_THREADS
    222224
  • trunk/src/kmk/kmkbuiltin/chmod.c

    r2126 r2421  
    6868extern void bsd_strmode(mode_t mode, char *p);
    6969
    70 #if defined(__APPLE__) && !defined(_DARWIN_FEATURE_UNIX_CONFORMANCE)
     70#if (defined(__APPLE__) && !defined(_DARWIN_FEATURE_UNIX_CONFORMANCE)) || defined(__OpenBSD__)
    7171extern int lchmod(const char *, mode_t);
    7272#endif
  • trunk/src/kmk/kmkbuiltin/mv.c

    r2142 r2421  
    100100extern void bsd_strmode(mode_t mode, char *p);
    101101
    102 #if !defined(__FreeBSD__) && !defined(__APPLE__) && !defined(__DragonFly__)
     102#if !defined(__FreeBSD__) && !defined(__APPLE__) && !defined(__DragonFly__) && !defined(__OpenBSD__)
    103103# ifdef __OS2__
    104104static
  • trunk/src/kmk/kmkbuiltin/openbsd.c

    r2418 r2421  
    11/* $Id$ */
    22/** @file
    3  * Missing BSD functions on Darwin / Mac OS X.
     3 * Missing BSD functions in OpenBSD.
    44 */
    55
  • trunk/src/kmk/kmkbuiltin/osdep.c

    r2413 r2421  
    3939# include "darwin.c"
    4040
     41#elif defined(__OpenBSD__)
     42# include "openbsd.c"
     43
    4144#endif
    4245
  • trunk/src/kmk/maintMakefile

    r1993 r2421  
    44
    55# We like mondo-warnings!
     6ifeq ($(KBUILD_TARGET),openbsd) # bird
     7AM_CFLAGS += -Wall -Wshadow -Wpointer-arith -Wbad-function-cast
     8else
    69AM_CFLAGS += -Wall -Wextra -Wdeclaration-after-statement -Wshadow -Wpointer-arith -Wbad-function-cast
     10endif
    711
    812# I want this one but I have to wait for the const cleanup!
Note: See TracChangeset for help on using the changeset viewer.