summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2012-03-04 09:57:54 +0100
committerDavid Tardon <dtardon@redhat.com>2012-03-04 10:32:52 +0100
commit09888c688ebfdd43a5cb1e44b6c9776eedcf5c3c (patch)
tree4799a0d716ad8d23bf7efcfb1fd6ba97e84fee9e
parente358dc89fe45fe198b2fe420db5100098b6a3cfa (diff)
fix building of so_activex (fdo#46847)
-rw-r--r--extensions/Library_so_activex.mk17
-rw-r--r--extensions/Library_so_activex_x64.mk5
-rw-r--r--extensions/Module_extensions.mk1
-rw-r--r--extensions/Package_so_activex_idl.mk36
-rw-r--r--extensions/WinResTarget_activex.mk8
-rw-r--r--extensions/source/activex/idl/Makefile48
-rw-r--r--extensions/source/activex/so_activex.rc2
7 files changed, 97 insertions, 20 deletions
diff --git a/extensions/Library_so_activex.mk b/extensions/Library_so_activex.mk
index 292b7e130a90..235bcbe39f6d 100644
--- a/extensions/Library_so_activex.mk
+++ b/extensions/Library_so_activex.mk
@@ -30,22 +30,13 @@
$(eval $(call gb_Library_Library,so_activex))
-$(SRCDIR)/extensions/source/activex/so_activex.cxx: $(WORKDIR)/CustomTarget/so_activex/so_activex.tlb
-
-$(WORKDIR)/CustomTarget/so_activex/so_activex.tlb: $(SRCDIR)/extensions/source/activex/so_activex.idl
- mkdir -p $(WORKDIR)/CustomTarget/so_activex
- midl.exe -out $(call gb_Helper_convert_native,$(WORKDIR)/CustomTarget/so_activex) -Oicf $(call gb_Helper_convert_native,$<) \
- $(foreach i,$(SOLARINC_FOR_BUILD), $(patsubst -I,/I,$(i)))
-
-$(call gb_Library_get_clean_target,so_activex) : extensions_activex_idlclean
-
-.PHONY: extensions_activex_idlclean
-extensions_activex_idlclean:
- rm -rf $(WORKDIR)/CustomTarget/so_activex
+$(eval $(call gb_Library_add_package_headers,so_activex,\
+ extensions_so_activex_idl \
+))
$(eval $(call gb_Library_set_include,so_activex,\
$$(INCLUDE) \
- -I$(WORKDIR)/CustomTarget/so_activex \
+ -I$(WORKDIR)/CustomTarget/extensions/source/activex/idl \
$(foreach i,$(ATL_INCLUDE), -I$(i)) \
))
diff --git a/extensions/Library_so_activex_x64.mk b/extensions/Library_so_activex_x64.mk
index 62839005a2b4..af70b6646b10 100644
--- a/extensions/Library_so_activex_x64.mk
+++ b/extensions/Library_so_activex_x64.mk
@@ -32,16 +32,15 @@ $(eval $(call gb_Library_Library,so_activex_x64))
$(eval $(call gb_Library_set_x64,so_activex_x64,YES))
-$(SRCDIR)/extensions/source/activex/so_activex.cxx: $(WORKDIR)/CustomTarget/so_activex/so_activex.tlb
-
$(eval $(call gb_Library_add_package_headers,so_activex_x64,\
+ extensions_so_activex_idl \
extensions_so_activex_x64_sources \
))
$(eval $(call gb_Library_set_include,so_activex_x64,\
$$(INCLUDE) \
-I$(SRCDIR)/extensions/source/activex \
- -I$(WORKDIR)/CustomTarget/so_activex \
+ -I$(WORKDIR)/CustomTarget/extensions/source/activex/idl \
$(foreach i,$(ATL_INCLUDE), -I$(i)) \
))
diff --git a/extensions/Module_extensions.mk b/extensions/Module_extensions.mk
index 1be04f9b078a..4e1b027fc933 100644
--- a/extensions/Module_extensions.mk
+++ b/extensions/Module_extensions.mk
@@ -71,6 +71,7 @@ ifneq ($(DISABLE_ACTIVEX),TRUE)
$(eval $(call gb_Module_add_targets,extensions,\
WinResTarget_activex \
Library_so_activex \
+ Package_so_activex_idl \
))
ifeq ($(BUILD_X64),TRUE)
diff --git a/extensions/Package_so_activex_idl.mk b/extensions/Package_so_activex_idl.mk
new file mode 100644
index 000000000000..b49c48240997
--- /dev/null
+++ b/extensions/Package_so_activex_idl.mk
@@ -0,0 +1,36 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2012 Red Hat, Inc., David Tardon <dtardon@redhat.com>
+# (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_Package_Package,extensions_so_activex_idl,$(WORKDIR)/extensions/source/activex/idl))
+
+$(eval $(call gb_Package_add_customtarget,extensions_so_activex_idl,extensions/source/activex/idl))
+
+$(eval $(call gb_CustomTarget_add_dependencies,extensions/source/activex/idl,\
+ extensions/source/activex/so_activex.idl \
+))
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/extensions/WinResTarget_activex.mk b/extensions/WinResTarget_activex.mk
index fd7879cb6652..7b9c1374f639 100644
--- a/extensions/WinResTarget_activex.mk
+++ b/extensions/WinResTarget_activex.mk
@@ -39,11 +39,13 @@ endif
$(eval $(call gb_WinResTarget_add_file,activex_res,extensions/source/activex/so_activex))
-$(SRCDIR)/extensions/source/activex/so_activex.rc: $(WORKDIR)/CustomTarget/so_activex/so_activex.tlb
-
$(eval $(call gb_WinResTarget_set_defs,activex_res,\
$$(DEFS) \
- -DMISC=$(call gb_Helper_convert_native,$(WORKDIR)/CustomTarget/so_activex) \
+ -DSO_ACTIVEX_TLB_DIR=$(call gb_Helper_convert_native,$(WORKDIR)/CustomTarget/extensions/source/activex/idl) \
))
+# I suppose this dep is not really necessary, because it should always
+# be fulfilled anyway. But it cannot hurt to have it...
+$(call gb_WinResTarget_get_target,activex_res) : $(call gb_Package_get_target,extensions_so_activex_idl)
+
# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/extensions/source/activex/idl/Makefile b/extensions/source/activex/idl/Makefile
new file mode 100644
index 000000000000..82e4f504ee01
--- /dev/null
+++ b/extensions/source/activex/idl/Makefile
@@ -0,0 +1,48 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2012 Red Hat, Inc., David Tardon <dtardon@redhat.com>
+# (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+include $(GBUILDDIR)/gbuild_simple.mk
+
+# XXX: I presume that the "$(COM)"=="GCC" case in the original
+# extensions/source/activex/msidl/makefile.mk was for the
+# use-mingw-on-windows case and thus is not interesting for us.
+so_activex.tlb :
+ midl.exe \
+ -tlb $@ \
+ -h so_activex.h \
+ -iid so_activex_i.c \
+ -dlldata so_activex_dll.c \
+ -proxy so_activex_p.c \
+ -0icf \
+ $(INCLUDE) \
+ $(SRCDIR)/extensions/source/activex/so_activex.idl
+
+.DEFAULT_GOAL := all
+.PHONY : all
+all : so_activex.tlb
+
+# vim:set shiftwidth=4 tabstop=4 noexpandtab:
diff --git a/extensions/source/activex/so_activex.rc b/extensions/source/activex/so_activex.rc
index adba0ee79f8c..d2a211eb972d 100644
--- a/extensions/source/activex/so_activex.rc
+++ b/extensions/source/activex/so_activex.rc
@@ -104,7 +104,7 @@ END
// Generated from the TEXTINCLUDE 3 resource.
//
-1 TYPELIB MISC\so_activex.tlb
+1 TYPELIB SO_ACTIVEX_TLB_DIR\so_activex.tlb
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED