summaryrefslogtreecommitdiff
path: root/project
diff options
context:
space:
mode:
Diffstat (limited to 'project')
-rw-r--r--project/common.mk62
-rw-r--r--project/config/cfgdefs.in0
-rw-r--r--project/config/cfgdefs.sh66
-rw-r--r--project/extras.mk46
-rw-r--r--project/headers.mk15
-rw-r--r--project/tagver.mk2
-rw-r--r--project/tree.mk8
7 files changed, 193 insertions, 6 deletions
diff --git a/project/common.mk b/project/common.mk
index 4893b49..d35b34f 100644
--- a/project/common.mk
+++ b/project/common.mk
@@ -1,34 +1,88 @@
API_SRCS = \
+ src/arbits/slbt_archive_ctx.c \
+ src/arbits/slbt_archive_dlsyms.c \
+ src/arbits/slbt_archive_mapfile.c \
+ src/arbits/slbt_archive_mapstrv.c \
+ src/arbits/slbt_archive_merge.c \
+ src/arbits/slbt_archive_meta.c \
+ src/arbits/slbt_archive_store.c \
+ src/arbits/slbt_archive_symfile.c \
+ src/arbits/slbt_archive_syminfo.c \
+ src/arbits/slbt_armap_bsd_32.c \
+ src/arbits/slbt_armap_bsd_64.c \
+ src/arbits/slbt_armap_sysv_32.c \
+ src/arbits/slbt_armap_sysv_64.c \
+ src/arbits/output/slbt_au_output_arname.c \
+ src/arbits/output/slbt_au_output_dlsyms.c \
+ src/arbits/output/slbt_au_output_mapfile.c \
+ src/arbits/output/slbt_au_output_members.c \
+ src/arbits/output/slbt_au_output_symbols.c \
src/driver/slbt_amain.c \
src/driver/slbt_driver_ctx.c \
- src/helper/slbt_archive_import.c \
- src/helper/slbt_copy_file.c \
- src/helper/slbt_dump_machine.c \
- src/helper/slbt_realpath.c \
+ src/driver/slbt_link_params.c \
+ src/driver/slbt_split_argv.c \
+ src/driver/slbt_symlist_ctx.c \
+ src/driver/slbt_txtfile_ctx.c \
+ src/driver/slbt_version_info.c \
+ src/host/slbt_host_flavor.c \
+ src/host/slbt_host_params.c \
+ src/util/slbt_archive_import.c \
+ src/util/slbt_create_mapfile.c \
+ src/util/slbt_create_symfile.c \
+ src/util/slbt_copy_file.c \
+ src/util/slbt_dump_machine.c \
+ src/util/slbt_map_input.c \
+ src/util/slbt_realpath.c \
+ src/logic/slbt_exec_ar.c \
src/logic/slbt_exec_compile.c \
src/logic/slbt_exec_ctx.c \
src/logic/slbt_exec_execute.c \
src/logic/slbt_exec_install.c \
src/logic/slbt_exec_link.c \
+ src/logic/slbt_exec_stoolie.c \
src/logic/slbt_exec_uninstall.c \
+ src/logic/linkcmd/slbt_linkcmd_archive.c \
+ src/logic/linkcmd/slbt_linkcmd_argv.c \
+ src/logic/linkcmd/slbt_linkcmd_deps.c \
+ src/logic/linkcmd/slbt_linkcmd_dsolib.c \
+ src/logic/linkcmd/slbt_linkcmd_executable.c \
+ src/logic/linkcmd/slbt_linkcmd_host.c \
+ src/logic/linkcmd/slbt_linkcmd_implib.c \
src/output/slbt_output_config.c \
src/output/slbt_output_error.c \
src/output/slbt_output_exec.c \
src/output/slbt_output_fdcwd.c \
src/output/slbt_output_features.c \
+ src/output/slbt_output_info.c \
src/output/slbt_output_machine.c \
+ src/output/slbt_output_mapfile.c \
+ src/skin/slbt_skin_ar.c \
src/skin/slbt_skin_default.c \
src/skin/slbt_skin_install.c \
+ src/skin/slbt_skin_stoolie.c \
src/skin/slbt_skin_uninstall.c \
+ src/stoolie/slbt_stoolie_ctx.c \
+
+FALLBACK_SRCS = \
+ src/fallback/slbt_archive_import_mri.c \
INTERNAL_SRCS = \
+ src/internal/$(PACKAGE)_coff_impl.c \
src/internal/$(PACKAGE)_dprintf_impl.c \
src/internal/$(PACKAGE)_errinfo_impl.c \
src/internal/$(PACKAGE)_lconf_impl.c \
src/internal/$(PACKAGE)_libmeta_impl.c \
+ src/internal/$(PACKAGE)_m4fake_impl.c \
src/internal/$(PACKAGE)_mapfile_impl.c \
+ src/internal/$(PACKAGE)_mkvars_impl.c \
+ src/internal/$(PACKAGE)_objlist_impl.c \
src/internal/$(PACKAGE)_objmeta_impl.c \
+ src/internal/$(PACKAGE)_pecoff_impl.c \
+ src/internal/$(PACKAGE)_realpath_impl.c \
+ src/internal/$(PACKAGE)_snprintf_impl.c \
src/internal/$(PACKAGE)_symlink_impl.c \
+ src/internal/$(PACKAGE)_tmpfile_impl.c \
+ src/internal/$(PACKAGE)_txtline_impl.c \
APP_SRCS = \
src/slibtool.c
diff --git a/project/config/cfgdefs.in b/project/config/cfgdefs.in
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/project/config/cfgdefs.in
diff --git a/project/config/cfgdefs.sh b/project/config/cfgdefs.sh
new file mode 100644
index 0000000..0d851ea
--- /dev/null
+++ b/project/config/cfgdefs.sh
@@ -0,0 +1,66 @@
+# in projects where [ $mb_use_custom_cfgdefs = yes ],
+# cfgdefs.sh is invoked from within ./configure via
+# . $mb_project_dir/project/cfgdefs.sh
+
+# a successful return from cfgdefs.sh will be followed
+# by a second invocation of the config_copy() function,
+# reflecting any changes to common config variables
+# made by cfgdefs.sh.
+
+# finally, cfgdefs.sh may update the contents of the
+# config-time generated cfgdefs.mk.
+
+
+# sofort's config test framework
+. "$mb_project_dir/sofort/cfgtest/cfgtest.sh"
+
+
+for arg ; do
+ case "$arg" in
+ *)
+ error_msg ${arg#}: "unsupported config argument."
+ exit 2
+ esac
+done
+
+
+cfgdefs_output_custom_defs()
+{
+ cat "$mb_project_dir/project/config/cfgdefs.in" > cfgdefs.mk
+}
+
+
+cfgdefs_perform_common_tests()
+{
+ # headers
+ cfgtest_header_presence 'sys/syscall.h'
+}
+
+
+cfgdefs_perform_target_tests()
+{
+ # init
+ cfgtest_newline
+ cfgtest_host_section
+
+ # common tests
+ cfgdefs_perform_common_tests
+
+ # pretty cfgdefs.mk
+ cfgtest_newline
+}
+
+# cfgdefs.in --> cfgdefs.mk
+cfgdefs_output_custom_defs
+
+# strict: some tests might fail
+set +e
+
+# target-specific tests
+cfgdefs_perform_target_tests
+
+# strict: restore mode
+set -e
+
+# all done
+return 0
diff --git a/project/extras.mk b/project/extras.mk
index 6765339..ba3ff0f 100644
--- a/project/extras.mk
+++ b/project/extras.mk
@@ -3,65 +3,111 @@ CFLAGS_STATIC_ATTR += -DSLBT_PRE_ALPHA -DSLBT_STATIC
CFLAGS_APP_ATTR += -DSLBT_APP
CFLAGS_MACHINE := -DSLBT_MACHINE=\"$(CC_HOST)\"
+CFLAGS_PKGDATA := -DSLBT_PACKAGE_DATADIR=\"$(DESTDIR)$(DATADIR)/$(PACKAGE)\"
CFLAGS_CONFIG += $(CFLAGS_MACHINE)
+CFLAGS_CONFIG += $(CFLAGS_PKGDATA)
+CFLAGS_CONFIG += $(CFLAGS_ATTR_VISIBILITY_HIDDEN)
src/driver/slbt_driver_ctx.o: version.tag
src/driver/slbt_driver_ctx.lo: version.tag
DBGNAME = dlibtool
LEGABITS = clibtool
+LEGADBGS = dclibtool
RAPUNZEL = rlibtool
RAPUNCEL = rclibtool
RAPUNDEL = rdlibtool
RAPUNJEL = rdclibtool
+STOOLIE = slibtoolize
+
+install-app-extras: install-slibtoolize
install-app-extras:
mkdir -p $(DESTDIR)$(BINDIR)
rm -f bin/$(NICKNAME)-shared$(OS_APP_SUFFIX).tmp
rm -f bin/$(NICKNAME)-static$(OS_APP_SUFFIX).tmp
+ rm -f bin/$(NICKNAME)-ar$(OS_APP_SUFFIX).tmp
rm -f bin/$(DBGNAME)$(OS_APP_SUFFIX).tmp
rm -f bin/$(DBGNAME)-shared$(OS_APP_SUFFIX).tmp
rm -f bin/$(DBGNAME)-static$(OS_APP_SUFFIX).tmp
+ rm -f bin/$(DBGNAME)-ar$(OS_APP_SUFFIX).tmp
rm -f bin/$(LEGABITS)$(OS_APP_SUFFIX).tmp
rm -f bin/$(LEGABITS)-shared$(OS_APP_SUFFIX).tmp
rm -f bin/$(LEGABITS)-static$(OS_APP_SUFFIX).tmp
+ rm -f bin/$(LEGABITS)-ar$(OS_APP_SUFFIX).tmp
+
+ rm -f bin/$(LEGADBGS)$(OS_APP_SUFFIX).tmp
+ rm -f bin/$(LEGADBGS)-shared$(OS_APP_SUFFIX).tmp
+ rm -f bin/$(LEGADBGS)-static$(OS_APP_SUFFIX).tmp
+ rm -f bin/$(LEGADBGS)-ar$(OS_APP_SUFFIX).tmp
rm -f bin/$(RAPUNZEL)$(OS_APP_SUFFIX).tmp
rm -f bin/$(RAPUNCEL)$(OS_APP_SUFFIX).tmp
rm -f bin/$(RAPUNDEL)$(OS_APP_SUFFIX).tmp
rm -f bin/$(RAPUNJEL)$(OS_APP_SUFFIX).tmp
+ rm -f bin/$(STOOLIE)$(OS_APP_SUFFIX).tmp
+
ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(NICKNAME)-shared$(OS_APP_SUFFIX).tmp
ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(NICKNAME)-static$(OS_APP_SUFFIX).tmp
+ ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(NICKNAME)-ar$(OS_APP_SUFFIX).tmp
ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(DBGNAME)$(OS_APP_SUFFIX).tmp
ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(DBGNAME)-shared$(OS_APP_SUFFIX).tmp
ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(DBGNAME)-static$(OS_APP_SUFFIX).tmp
+ ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(DBGNAME)-ar$(OS_APP_SUFFIX).tmp
ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGABITS)$(OS_APP_SUFFIX).tmp
ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGABITS)-shared$(OS_APP_SUFFIX).tmp
ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGABITS)-static$(OS_APP_SUFFIX).tmp
+ ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGABITS)-ar$(OS_APP_SUFFIX).tmp
+
+ ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGADBGS)$(OS_APP_SUFFIX).tmp
+ ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGADBGS)-shared$(OS_APP_SUFFIX).tmp
+ ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGADBGS)-static$(OS_APP_SUFFIX).tmp
+ ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGADBGS)-ar$(OS_APP_SUFFIX).tmp
ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(RAPUNZEL)$(OS_APP_SUFFIX).tmp
ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(RAPUNCEL)$(OS_APP_SUFFIX).tmp
ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(RAPUNDEL)$(OS_APP_SUFFIX).tmp
ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(RAPUNJEL)$(OS_APP_SUFFIX).tmp
+ ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(STOOLIE)$(OS_APP_SUFFIX).tmp
+
mv bin/$(NICKNAME)-shared$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(NICKNAME)-shared$(OS_APP_SUFFIX)
mv bin/$(NICKNAME)-static$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(NICKNAME)-static$(OS_APP_SUFFIX)
+ mv bin/$(NICKNAME)-ar$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(NICKNAME)-ar$(OS_APP_SUFFIX)
mv bin/$(DBGNAME)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(DBGNAME)$(OS_APP_SUFFIX)
mv bin/$(DBGNAME)-shared$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(DBGNAME)-shared$(OS_APP_SUFFIX)
mv bin/$(DBGNAME)-static$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(DBGNAME)-static$(OS_APP_SUFFIX)
+ mv bin/$(DBGNAME)-ar$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(DBGNAME)-ar$(OS_APP_SUFFIX)
mv bin/$(LEGABITS)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGABITS)$(OS_APP_SUFFIX)
mv bin/$(LEGABITS)-shared$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGABITS)-shared$(OS_APP_SUFFIX)
mv bin/$(LEGABITS)-static$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGABITS)-static$(OS_APP_SUFFIX)
+ mv bin/$(LEGABITS)-ar$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGABITS)-ar$(OS_APP_SUFFIX)
+
+ mv bin/$(LEGADBGS)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGADBGS)$(OS_APP_SUFFIX)
+ mv bin/$(LEGADBGS)-shared$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGADBGS)-shared$(OS_APP_SUFFIX)
+ mv bin/$(LEGADBGS)-static$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGADBGS)-static$(OS_APP_SUFFIX)
+ mv bin/$(LEGADBGS)-ar$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGADBGS)-ar$(OS_APP_SUFFIX)
mv bin/$(RAPUNZEL)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(RAPUNZEL)$(OS_APP_SUFFIX)
mv bin/$(RAPUNCEL)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(RAPUNCEL)$(OS_APP_SUFFIX)
mv bin/$(RAPUNDEL)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(RAPUNDEL)$(OS_APP_SUFFIX)
mv bin/$(RAPUNJEL)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(RAPUNJEL)$(OS_APP_SUFFIX)
+
+ mv bin/$(STOOLIE)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(STOOLIE)$(OS_APP_SUFFIX)
+
+install-slibtoolize:
+ mkdir -p $(DESTDIR)$(DATADIR)/$(PACKAGE)
+
+ cp -p $(SOURCE_DIR)/m4/slibtool.m4 $(DESTDIR)$(DATADIR)/$(PACKAGE)
+ cp -p $(SOURCE_DIR)/aux/ltmain.sh $(DESTDIR)$(DATADIR)/$(PACKAGE)
+ cp -p $(SOURCE_DIR)/aux/slibtool.sh $(DESTDIR)$(DATADIR)/$(PACKAGE)
+
+.PHONY: install-slibtoolize
diff --git a/project/headers.mk b/project/headers.mk
index 62b6f52..56c0a6a 100644
--- a/project/headers.mk
+++ b/project/headers.mk
@@ -1,20 +1,35 @@
API_HEADERS = \
$(PROJECT_DIR)/include/$(PACKAGE)/slibtool.h \
$(PROJECT_DIR)/include/$(PACKAGE)/slibtool_api.h \
+ $(PROJECT_DIR)/include/$(PACKAGE)/slibtool_arbits.h \
+ $(PROJECT_DIR)/include/$(PACKAGE)/slibtool_output.h \
INTERNAL_HEADERS = \
$(PROJECT_DIR)/src/internal/argv/argv.h \
+ $(PROJECT_DIR)/src/internal/$(PACKAGE)_ar_impl.h \
+ $(PROJECT_DIR)/src/internal/$(PACKAGE)_coff_impl.h \
$(PROJECT_DIR)/src/internal/$(PACKAGE)_dprintf_impl.h \
$(PROJECT_DIR)/src/internal/$(PACKAGE)_driver_impl.h \
$(PROJECT_DIR)/src/internal/$(PACKAGE)_errinfo_impl.h \
$(PROJECT_DIR)/src/internal/$(PACKAGE)_install_impl.h \
$(PROJECT_DIR)/src/internal/$(PACKAGE)_lconf_impl.h \
+ $(PROJECT_DIR)/src/internal/$(PACKAGE)_linkcmd_impl.h \
+ $(PROJECT_DIR)/src/internal/$(PACKAGE)_m4fake_impl.h \
$(PROJECT_DIR)/src/internal/$(PACKAGE)_mapfile_impl.h \
$(PROJECT_DIR)/src/internal/$(PACKAGE)_metafile_impl.h \
$(PROJECT_DIR)/src/internal/$(PACKAGE)_mkdir_impl.h \
+ $(PROJECT_DIR)/src/internal/$(PACKAGE)_mkvars_impl.h \
+ $(PROJECT_DIR)/src/internal/$(PACKAGE)_objlist_impl.h \
+ $(PROJECT_DIR)/src/internal/$(PACKAGE)_pecoff_impl.h \
$(PROJECT_DIR)/src/internal/$(PACKAGE)_readlink_impl.h \
+ $(PROJECT_DIR)/src/internal/$(PACKAGE)_realpath_impl.h \
+ $(PROJECT_DIR)/src/internal/$(PACKAGE)_snprintf_impl.h \
$(PROJECT_DIR)/src/internal/$(PACKAGE)_spawn_impl.h \
+ $(PROJECT_DIR)/src/internal/$(PACKAGE)_stoolie_impl.h \
$(PROJECT_DIR)/src/internal/$(PACKAGE)_symlink_impl.h \
+ $(PROJECT_DIR)/src/internal/$(PACKAGE)_tmpfile_impl.h \
+ $(PROJECT_DIR)/src/internal/$(PACKAGE)_txtline_impl.h \
$(PROJECT_DIR)/src/internal/$(PACKAGE)_uninstall_impl.h \
+ $(PROJECT_DIR)/src/internal/$(PACKAGE)_visibility_impl.h \
ALL_HEADERS = $(API_HEADERS) $(INTERNAL_HEADERS)
diff --git a/project/tagver.mk b/project/tagver.mk
index 6b79598..2595fde 100644
--- a/project/tagver.mk
+++ b/project/tagver.mk
@@ -2,4 +2,4 @@ VER_NAMESPACE = SLBT
VER_MAJOR = 0
VER_MINOR = 5
-VER_PATCH = 34
+VER_PATCH = 36
diff --git a/project/tree.mk b/project/tree.mk
index 42564b8..f855e82 100644
--- a/project/tree.mk
+++ b/project/tree.mk
@@ -1,9 +1,15 @@
tree.tag:
mkdir -p src
+ mkdir -p src/arbits
mkdir -p src/driver
- mkdir -p src/helper
+ mkdir -p src/fallback
+ mkdir -p src/host
+ mkdir -p src/util
mkdir -p src/internal
mkdir -p src/logic
mkdir -p src/output
mkdir -p src/skin
+ mkdir -p src/stoolie
+ mkdir -p src/arbits/output
+ mkdir -p src/logic/linkcmd
touch tree.tag