Index: configure.ac ================================================================== --- configure.ac +++ configure.ac @@ -400,10 +400,25 @@ AC_SUBST(INVOCATION_A, "invocation.a") AC_SUBST(INVOCATION_INVOCATION_A, "invocation/invocation.a") AC_SUBST(LOOKUP_ASM_A, "lookup-asm.a") AC_SUBST(LOOKUP_ASM_LOOKUP_ASM_A, "lookup-asm/lookup-asm.a") ]) + +AS_IF([test x"$enable_amiga_lib" != x"no"], [ + AC_SUBST(EXCEPTIONS_AMIGALIB_A, "exceptions.amigalib.a") + AC_SUBST(EXCEPTIONS_EXCEPTIONS_AMIGALIB_A, + "exceptions/exceptions.amigalib.a") + AC_SUBST(FORWARDING_AMIGALIB_A, "forwarding.amigalib.a") + AC_SUBST(FORWARDING_FORWARDING_AMIGALIB_A, + "forwarding/forwarding.amigalib.a") + AC_SUBST(INVOCATION_AMIGALIB_A, "invocation.amigalib.a") + AC_SUBST(INVOCATION_INVOCATION_AMIGALIB_A, + "invocation/invocation.amigalib.a") + AC_SUBST(LOOKUP_ASM_AMIGALIB_A, "lookup-asm.amigalib.a") + AC_SUBST(LOOKUP_ASM_LOOKUP_ASM_AMIGALIB_A, + "lookup-asm/lookup-asm.amigalib.a") +]) AC_DEFINE_UNQUOTED(PLUGIN_SUFFIX, "$PLUGIN_SUFFIX", [Suffix for plugins]) AS_IF([test x"$enable_files" != x"no" -a x"$PLUGIN_SUFFIX" != x""], [ AC_SUBST(USE_SRCS_PLUGINS, '${SRCS_PLUGINS}') AC_SUBST(TESTPLUGIN, "plugin") @@ -892,10 +907,15 @@ AC_SUBST(ENCODINGS_ENCODINGS_LIB_A, "encodings/encodings.lib.a") ]) AS_IF([test x"$enable_static" = x"yes" -o x"$enable_shared" = x"no"], [ AC_SUBST(ENCODINGS_A, "encodings.a") AC_SUBST(ENCODINGS_ENCODINGS_A, "encodings/encodings.a") + ]) + AS_IF([test x"$enable_amiga_lib" != x"no"], [ + AC_SUBST(ENCODINGS_AMIGALIB_A, "encodings.amigalib.a") + AC_SUBST(ENCODINGS_ENCODINGS_AMIGALIB_A, + "encodings/encodings.amigalib.a") ]) ]) AC_CHECK_FUNC(arc4random, [ AC_DEFINE(OF_HAVE_ARC4RANDOM, 1, [Whether we have arc4random()]) Index: extra.mk.in ================================================================== --- extra.mk.in +++ extra.mk.in @@ -23,37 +23,47 @@ BIN_PREFIX = @BIN_PREFIX@ BRIDGE = @BRIDGE@ CVINCLUDE_INLINE_H = @CVINCLUDE_INLINE_H@ ENCODINGS = @ENCODINGS@ ENCODINGS_A = @ENCODINGS_A@ +ENCODINGS_AMIGALIB_A = @ENCODINGS_AMIGALIB_A@ ENCODINGS_ENCODINGS_A = @ENCODINGS_ENCODINGS_A@ +ENCODINGS_ENCODINGS_AMIGALIB_A = @ENCODINGS_ENCODINGS_AMIGALIB_A@ ENCODINGS_ENCODINGS_LIB_A = @ENCODINGS_ENCODINGS_LIB_A@ ENCODINGS_LIB_A = @ENCODINGS_LIB_A@ ENCODINGS_SRCS = @ENCODINGS_SRCS@ EXCEPTIONS_A = @EXCEPTIONS_A@ +EXCEPTIONS_AMIGALIB_A = @EXCEPTIONS_AMIGALIB_A@ EXCEPTIONS_EXCEPTIONS_A = @EXCEPTIONS_EXCEPTIONS_A@ +EXCEPTIONS_EXCEPTIONS_AMIGALIB_A = @EXCEPTIONS_EXCEPTIONS_AMIGALIB_A@ EXCEPTIONS_EXCEPTIONS_LIB_A = @EXCEPTIONS_EXCEPTIONS_LIB_A@ EXCEPTIONS_LIB_A = @EXCEPTIONS_LIB_A@ FISH_COMPLETIONS = @FISH_COMPLETIONS@ FORWARDING_A = @FORWARDING_A@ +FORWARDING_AMIGALIB_A = @FORWARDING_AMIGALIB_A@ FORWARDING_FORWARDING_A = @FORWARDING_FORWARDING_A@ +FORWARDING_FORWARDING_AMIGALIB_A = @FORWARDING_FORWARDING_AMIGALIB_A@ FORWARDING_FORWARDING_LIB_A = @FORWARDING_FORWARDING_LIB_A@ FORWARDING_LIB_A = @FORWARDING_LIB_A@ INSTANCE_M = @INSTANCE_M@ INVOCATION_A = @INVOCATION_A@ +INVOCATION_AMIGALIB_A = @INVOCATION_AMIGALIB_A@ INVOCATION_INVOCATION_A = @INVOCATION_INVOCATION_A@ +INVOCATION_INVOCATION_AMIGALIB_A = @INVOCATION_INVOCATION_AMIGALIB_A@ INVOCATION_INVOCATION_LIB_A = @INVOCATION_INVOCATION_LIB_A@ INVOCATION_LIB_A = @INVOCATION_LIB_A@ LIBBASES_M = @LIBBASES_M@ LIBOBJFWRT_DEP = @LIBOBJFWRT_DEP@ LIBOBJFWRT_DEP_LVL2 = @LIBOBJFWRT_DEP_LVL2@ LIBOBJFW_DEP = @LIBOBJFW_DEP@ LIBOBJFW_DEP_LVL2 = @LIBOBJFW_DEP_LVL2@ LINKLIB = @LINKLIB@ LOOKUP_ASM_A = @LOOKUP_ASM_A@ +LOOKUP_ASM_AMIGALIB_A = @LOOKUP_ASM_AMIGALIB_A@ LOOKUP_ASM_LIB_A = @LOOKUP_ASM_LIB_A@ LOOKUP_ASM_LOOKUP_ASM_A = @LOOKUP_ASM_LOOKUP_ASM_A@ +LOOKUP_ASM_LOOKUP_ASM_AMIGALIB_A = @LOOKUP_ASM_LOOKUP_ASM_AMIGALIB_A@ LOOKUP_ASM_LOOKUP_ASM_LIB_A = @LOOKUP_ASM_LOOKUP_ASM_LIB_A@ MAP_LDFLAGS = @MAP_LDFLAGS@ OFARC = @OFARC@ OFDNS = @OFDNS@ OFHASH = @OFHASH@ Index: src/Makefile ================================================================== --- src/Makefile +++ src/Makefile @@ -238,15 +238,15 @@ ${EXCEPTIONS_EXCEPTIONS_LIB_A} \ ${ENCODINGS_ENCODINGS_LIB_A} \ ${FORWARDING_FORWARDING_LIB_A} \ ${INVOCATION_INVOCATION_LIB_A} AMIGA_LIB_OBJS_START = amiga-library.amigalib.o -AMIGA_LIB_OBJS_EXTRA = amiga-glue.amigalib.o \ - ${EXCEPTIONS_EXCEPTIONS_A} \ - ${ENCODINGS_ENCODINGS_A} \ - ${FORWARDING_FORWARDING_A} \ - ${INVOCATION_INVOCATION_A} \ +AMIGA_LIB_OBJS_EXTRA = amiga-glue.amigalib.o \ + ${EXCEPTIONS_EXCEPTIONS_AMIGALIB_A} \ + ${ENCODINGS_ENCODINGS_AMIGALIB_A} \ + ${FORWARDING_FORWARDING_AMIGALIB_A} \ + ${INVOCATION_INVOCATION_AMIGALIB_A} \ amiga-end.amigalib.o include ../buildsys.mk CPPFLAGS += -I. -I.. -Iexceptions -Iruntime \ Index: src/encodings/Makefile ================================================================== --- src/encodings/Makefile +++ src/encodings/Makefile @@ -1,10 +1,11 @@ include ../../extra.mk STATIC_PIC_LIB_NOINST = ${ENCODINGS_LIB_A} STATIC_LIB_NOINST = ${ENCODINGS_A} +STATIC_AMIGA_LIB_NOINST = ${ENCODINGS_AMIGALIB_A} SRCS = ${ENCODINGS_SRCS} include ../../buildsys.mk CPPFLAGS += -I. -I.. -I../.. -I../runtime -I../exceptions Index: src/exceptions/Makefile ================================================================== --- src/exceptions/Makefile +++ src/exceptions/Makefile @@ -1,9 +1,10 @@ include ../../extra.mk STATIC_PIC_LIB_NOINST = ${EXCEPTIONS_LIB_A} STATIC_LIB_NOINST = ${EXCEPTIONS_A} +STATIC_AMIGA_LIB_NOINST = ${EXCEPTIONS_AMIGALIB_A} SRCS = OFAllocFailedException.m \ OFChangeCurrentDirectoryPathFailedException.m \ OFChecksumMismatchException.m \ OFCopyItemFailedException.m \ Index: src/forwarding/Makefile ================================================================== --- src/forwarding/Makefile +++ src/forwarding/Makefile @@ -1,10 +1,11 @@ include ../../extra.mk STATIC_PIC_LIB_NOINST = ${FORWARDING_LIB_A} STATIC_LIB_NOINST = ${FORWARDING_A} +STATIC_AMIGA_LIB_NOINST = ${FORWARDING_AMIGALIB_A} SRCS = forwarding.S include ../../buildsys.mk ASFLAGS += -I../.. -I.. Index: src/invocation/Makefile ================================================================== --- src/invocation/Makefile +++ src/invocation/Makefile @@ -1,12 +1,13 @@ include ../../extra.mk STATIC_PIC_LIB_NOINST = ${INVOCATION_LIB_A} STATIC_LIB_NOINST = ${INVOCATION_A} +STATIC_AMIGA_LIB_NOINST = ${INVOCATION_AMIGALIB_A} SRCS = call.S \ invoke.m include ../../buildsys.mk ASFLAGS += -I../.. -I.. OBJCFLAGS += -I../.. -I.. -I../exceptions -I../runtime Index: src/runtime/Makefile ================================================================== --- src/runtime/Makefile +++ src/runtime/Makefile @@ -39,12 +39,12 @@ includesubdir = ObjFWRT OBJS_EXTRA = ${LOOKUP_ASM_LOOKUP_ASM_A} LIB_OBJS_EXTRA = ${LOOKUP_ASM_LOOKUP_ASM_LIB_A} AMIGA_LIB_OBJS_START = amiga-library.amigalib.o -AMIGA_LIB_OBJS_EXTRA = amiga-glue.amigalib.o \ - ${LOOKUP_ASM_LOOKUP_ASM_A} \ +AMIGA_LIB_OBJS_EXTRA = amiga-glue.amigalib.o \ + ${LOOKUP_ASM_LOOKUP_ASM_AMIGALIB_A} \ amiga-end.amigalib.o include ../../buildsys.mk ${OBJFWRT_AMIGA_LIB}: inline.h Index: src/runtime/lookup-asm/Makefile ================================================================== --- src/runtime/lookup-asm/Makefile +++ src/runtime/lookup-asm/Makefile @@ -1,10 +1,11 @@ include ../../../extra.mk STATIC_PIC_LIB_NOINST = ${LOOKUP_ASM_LIB_A} STATIC_LIB_NOINST = ${LOOKUP_ASM_A} +STATIC_AMIGA_LIB_NOINST = ${LOOKUP_ASM_AMIGALIB_A} SRCS = lookup-asm.S include ../../../buildsys.mk ASFLAGS += -I../../.. -I../..