summaryrefslogtreecommitdiffhomepage
path: root/sysinfo/os
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2017-10-25 01:33:27 -0400
committermidipix <writeonce@midipix.org>2017-10-25 01:35:41 -0400
commita65132681381cb31181b6e2f3aab356ab51b11a6 (patch)
tree210b1f38bcf2c594188c55142cf25d45c0d35d65 /sysinfo/os
parent8fa6a984a5bcbb5f27c8ad6b9782a3aab0b208dc (diff)
downloadntapi-a65132681381cb31181b6e2f3aab356ab51b11a6.tar.bz2
ntapi-a65132681381cb31181b6e2f3aab356ab51b11a6.tar.xz
build system: PE targets: added mdso-based import library generation support.
Diffstat (limited to 'sysinfo/os')
-rw-r--r--sysinfo/os/cygwin.mk1
-rw-r--r--sysinfo/os/midipix.mk1
-rw-r--r--sysinfo/os/mingw.mk1
-rw-r--r--sysinfo/os/msys.mk1
-rw-r--r--sysinfo/os/pe.mk27
5 files changed, 28 insertions, 3 deletions
diff --git a/sysinfo/os/cygwin.mk b/sysinfo/os/cygwin.mk
index a257b88..21cb1a1 100644
--- a/sysinfo/os/cygwin.mk
+++ b/sysinfo/os/cygwin.mk
@@ -8,5 +8,6 @@ OS_LIBDEF_EXT = .def
OS_ARCHIVE_EXT = .a
OS_SONAME = copy
OS_BINFMT = PE
+OS_IMPLIB_TOOL = dlltool
CFLAGS_PIC =
diff --git a/sysinfo/os/midipix.mk b/sysinfo/os/midipix.mk
index 96c178c..b2d7096 100644
--- a/sysinfo/os/midipix.mk
+++ b/sysinfo/os/midipix.mk
@@ -8,3 +8,4 @@ OS_LIBDEF_EXT = .so.def
OS_ARCHIVE_EXT = .a
OS_SONAME = symlink
OS_BINFMT = PE
+OS_IMPLIB_TOOL = mdso
diff --git a/sysinfo/os/mingw.mk b/sysinfo/os/mingw.mk
index c13e61d..53fe2d6 100644
--- a/sysinfo/os/mingw.mk
+++ b/sysinfo/os/mingw.mk
@@ -8,6 +8,7 @@ OS_LIBDEF_EXT = .def
OS_ARCHIVE_EXT = .a
OS_SONAME = copy
OS_BINFMT = PE
+OS_IMPLIB_TOOL = dlltool
CFLAGS_PIC =
CFLAGS_OS += -U__STRICT_ANSI__
diff --git a/sysinfo/os/msys.mk b/sysinfo/os/msys.mk
index b70cc78..27482e0 100644
--- a/sysinfo/os/msys.mk
+++ b/sysinfo/os/msys.mk
@@ -8,6 +8,7 @@ OS_LIBDEF_EXT = .def
OS_ARCHIVE_EXT = .a
OS_SONAME = copy
OS_BINFMT = PE
+OS_IMPLIB_TOOL = dlltool
CFLAGS_PIC =
CFLAGS_OS += -U__STRICT_ANSI__
diff --git a/sysinfo/os/pe.mk b/sysinfo/os/pe.mk
index bbb74b2..1b02484 100644
--- a/sysinfo/os/pe.mk
+++ b/sysinfo/os/pe.mk
@@ -19,9 +19,6 @@ implib-solink: shared-lib $(IMPLIB_SOLINK)
$(IMPLIB_DEF): shared-lib
-$(IMPLIB_VER): $(IMPLIB_DEF)
- $(DLLTOOL) -l $(IMPLIB_VER) -d $(IMPLIB_DEF) -D $(DSO_VER)
-
install-implib: install-implib-ver \
package-install-implib-soname \
package-install-implib-solink
@@ -38,6 +35,20 @@ clean-implib:
rm -f $(IMPLIB_SOLINK)
+ifeq ($(OS_IMPLIB_TOOL),mdso)
+
+$(IMPLIB_VER): $(IMPLIB_DEF)
+ $(MDSO) -m $(HOST_BITS) -i $(IMPLIB_VER) -n $(DSO_VER) $(IMPLIB_DEF)
+
+else ifeq ($(OS_IMPLIB_TOOL),dlltool)
+
+$(IMPLIB_VER): $(IMPLIB_DEF)
+ $(DLLTOOL) -l $(IMPLIB_VER) -d $(IMPLIB_DEF) -D $(DSO_VER)
+
+endif
+
+
+
ifeq ($(AVOID_VERSION),yes)
package-implib-soname:
@@ -53,9 +64,19 @@ package-install-implib-soname: install-implib-soname
package-install-implib-solink: install-implib-solink
+ifeq ($(OS_IMPLIB_TOOL),mdso)
+
+$(IMPLIB_SONAME): $(IMPLIB_DEF)
+ $(MDSO) -m $(HOST_BITS) -i $(IMPLIB_SONAME) -n $(DSO_SONAME) $(IMPLIB_DEF)
+
+else ifeq ($(OS_IMPLIB_TOOL),dlltool)
+
$(IMPLIB_SONAME): $(IMPLIB_DEF)
$(DLLTOOL) -l $(IMPLIB_SONAME) -d $(IMPLIB_DEF) -D $(DSO_SONAME)
+endif
+
+
$(IMPLIB_SOLINK): $(IMPLIB_SONAME)
rm -f $(IMPLIB_SOLINK).tmp
ln -s $(IMP_SONAME) $(IMPLIB_SOLINK).tmp