[atkmm/use-dllexport: 4/5] NMake Makefiles: Stop building and using gendef
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [atkmm/use-dllexport: 4/5] NMake Makefiles: Stop building and using gendef
- Date: Wed, 1 Apr 2020 10:27:59 +0000 (UTC)
commit cba21ecefb74fed6843937f983ab837361a23feb
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Wed Apr 1 17:59:22 2020 +0800
NMake Makefiles: Stop building and using gendef
We can now use compiler directives to export symbols from atkmm by
defining ATKMM_API as __declspec(dllexport) via defing ATKMM_BUILD, so
we no longer need to use gendef.exe to export the symbols.
The next commit will remove gendef from the atkmm sources.
MSVC_NMake/build-rules-msvc.mak | 15 ++-------------
MSVC_NMake/config-msvc.mak | 1 -
MSVC_NMake/generate-msvc.mak | 5 -----
3 files changed, 2 insertions(+), 19 deletions(-)
---
diff --git a/MSVC_NMake/build-rules-msvc.mak b/MSVC_NMake/build-rules-msvc.mak
index 7a9276e..4206ab8 100644
--- a/MSVC_NMake/build-rules-msvc.mak
+++ b/MSVC_NMake/build-rules-msvc.mak
@@ -42,11 +42,10 @@ $(ATKMM_LIB): $(ATKMM_DLL)
# $(dependent_objects)
# <<
# @-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;2
-$(ATKMM_DLL): vs$(VSVER)\$(CFG)\$(PLAT)\atkmm\atkmm.def $(atkmm_OBJS)
- link /DLL $(LDFLAGS_NOLTCG) $(ATKMM_DEP_LIBS) /implib:$(ATKMM_LIB)
/def:vs$(VSVER)\$(CFG)\$(PLAT)\atkmm\atkmm.def -out:$@ @<<
+$(ATKMM_DLL): vs$(VSVER)\$(CFG)\$(PLAT)\atkmm $(atkmm_OBJS)
+ link /DLL $(LDFLAGS_NOLTCG) $(ATKMM_DEP_LIBS) /implib:$(ATKMM_LIB) -out:$@ @<<
$(atkmm_OBJS)
<<
-
@-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;2
# Rules for linking Executables
@@ -57,29 +56,19 @@ $(atkmm_OBJS)
# <<
# @-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;1
-# For the gendef tool
-{.\gendef\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\}.exe:
- @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\gendef\ $(MAKE) -f Makefile.vc CFG=$(CFG)
vs$(VSVER)\$(CFG)\$(PLAT)\gendef
- $(CXX) $(ATKMM_BASE_CFLAGS) $(CFLAGS) /Fovs$(VSVER)\$(CFG)\$(PLAT)\gendef\
/Fdvs$(VSVER)\$(CFG)\$(PLAT)\gendef\ $< /link $(LDFLAGS) /out:$@
-
clean:
- @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.exe
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.dll
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.pdb
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.ilk
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.exp
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.lib
- @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\atkmm\*.def
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\atkmm\*.res
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\atkmm\*.pdb
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\atkmm\*.obj
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\atkmm\private\*.h
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\atkmm\*.h
@-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\atkmm\*.cc
- @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gendef\*.pdb
- @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gendef\*.obj
@-rd vs$(VSVER)\$(CFG)\$(PLAT)\atkmm\private
@-rd vs$(VSVER)\$(CFG)\$(PLAT)\atkmm
- @-rd vs$(VSVER)\$(CFG)\$(PLAT)\gendef
.SUFFIXES: .cc .h .ccg .hg .obj
diff --git a/MSVC_NMake/config-msvc.mak b/MSVC_NMake/config-msvc.mak
index 5018cca..c770e18 100644
--- a/MSVC_NMake/config-msvc.mak
+++ b/MSVC_NMake/config-msvc.mak
@@ -68,7 +68,6 @@ ATKMM_LIBNAME = atkmm-vc$(VSVER)0$(DEBUG_SUFFIX)-$(ATKMM_MAJOR_VERSION)_$(ATKMM_
ATKMM_DLL = vs$(VSVER)\$(CFG)\$(PLAT)\$(ATKMM_LIBNAME).dll
ATKMM_LIB = vs$(VSVER)\$(CFG)\$(PLAT)\$(ATKMM_LIBNAME).lib
-GENDEF = vs$(VSVER)\$(CFG)\$(PLAT)\gendef.exe
GOBJECT_LIBS = gobject-2.0.lib gmodule-2.0.lib glib-2.0.lib
ATK_LIBS = atk-1.0.lib $(GOBJECT_LIBS)
diff --git a/MSVC_NMake/generate-msvc.mak b/MSVC_NMake/generate-msvc.mak
index 7c239ad..589d679 100644
--- a/MSVC_NMake/generate-msvc.mak
+++ b/MSVC_NMake/generate-msvc.mak
@@ -4,15 +4,10 @@
# one is maintaining the NMake build files.
# Create the build directories
-vs$(VSVER)\$(CFG)\$(PLAT)\gendef \
vs$(VSVER)\$(CFG)\$(PLAT)\atkmm \
vs$(VSVER)\$(CFG)\$(PLAT)\atkmm\private:
@-md $@
-# Generate .def files
-vs$(VSVER)\$(CFG)\$(PLAT)\atkmm\atkmm.def: $(GENDEF) vs$(VSVER)\$(CFG)\$(PLAT)\atkmm $(atkmm_OBJS)
- vs$(VSVER)\$(CFG)\$(PLAT)\gendef.exe $@ $(ATKMM_LIBNAME) vs$(VSVER)\$(CFG)\$(PLAT)\atkmm\*.obj
-
# Generate wrap_init.cc files
vs$(VSVER)\$(CFG)\$(PLAT)\atkmm\wrap_init.cc: $(atkmm_real_hg)
@if not exist ..\atk\atkmm\wrap_init.cc $(PERL) -- "$(GMMPROC_DIR)/generate_wrap_init.pl"
--namespace=Atk --parent_dir=atkmm $(atkmm_real_hg:\=/)>$@
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]