This commit is contained in:
Andreia Gaita 2010-12-27 23:24:16 +00:00
Родитель a478c3030f
Коммит 9051248fef
17 изменённых файлов: 992 добавлений и 0 удалений

10
src/Makefile.am Normal file
Просмотреть файл

@ -0,0 +1,10 @@
EXTRA_DIST = expansions.m4
#Warning: This is an automatically generated file, do not edit!
if ENABLE_DEBUG
SUBDIRS = Mono.VisualC.Interop Tests QtBindings Mono.VisualC.Code generator QtTest
endif
if ENABLE_RELEASE
SUBDIRS = Mono.VisualC.Interop Tests QtBindings Mono.VisualC.Code generator QtTest
endif

118
src/Makefile.include Normal file
Просмотреть файл

@ -0,0 +1,118 @@
VALID_CULTURES = ar bg ca zh-CHS cs da de el en es fi fr he hu is it ja ko nl no pl pt ro ru hr sk sq sv th tr id uk be sl et lv lt fa vi hy eu mk af ka fo hi sw gu ta te kn mr gl kok ar-SA bg-BG ca-ES zh-TW cs-CZ da-DK de-DE el-GR en-US fi-FI fr-FR he-IL hu-HU is-IS it-IT ja-JP ko-KR nl-NL nb-NO pl-PL pt-BR ro-RO ru-RU hr-HR sk-SK sq-AL sv-SE th-TH tr-TR id-ID uk-UA be-BY sl-SI et-EE lv-LV lt-LT fa-IR vi-VN hy-AM eu-ES mk-MK af-ZA ka-GE fo-FO hi-IN sw-KE gu-IN ta-IN te-IN kn-IN mr-IN gl-ES kok-IN ar-IQ zh-CN de-CH en-GB es-MX fr-BE it-CH nl-BE nn-NO pt-PT sv-FI ar-EG zh-HK de-AT en-AU es-ES fr-CA ar-LY zh-SG de-LU en-CA es-GT fr-CH ar-DZ zh-MO en-NZ es-CR fr-LU ar-MA en-IE es-PA ar-TN en-ZA es-DO ar-OM es-VE ar-YE es-CO ar-SY es-PE ar-JO en-TT es-AR ar-LB en-ZW es-EC ar-KW en-PH es-CL ar-AE es-UY ar-BH es-PY ar-QA es-BO es-SV es-HN es-NI es-PR zh-CHT
s2q=$(subst \ ,?,$1)
q2s=$(subst ?,\ ,$1)
# use this when result will be quoted
unesc2=$(subst ?, ,$1)
build_sources = $(FILES) $(GENERATED_FILES)
build_sources_esc= $(call s2q,$(build_sources))
# use unesc2, as build_sources_embed is quoted
build_sources_embed= $(call unesc2,$(build_sources_esc:%='$(srcdir)/%'))
comma__=,
get_resource_name = $(firstword $(subst $(comma__), ,$1))
get_culture = $(lastword $(subst ., ,$(basename $1)))
is_cultured_resource = $(and $(word 3,$(subst ., ,$1)), $(filter $(VALID_CULTURES),$(lastword $(subst ., ,$(basename $1)))))
RESOURCES_ESC=$(call s2q,$(RESOURCES))
build_resx_list = $(foreach res, $(RESOURCES_ESC), $(if $(filter %.resx, $(call get_resource_name,$(res))),$(res),))
build_non_culture_resx_list = $(foreach res, $(build_resx_list),$(if $(call is_cultured_resource,$(call get_resource_name,$(res))),,$(res)))
build_non_culture_others_list = $(foreach res, $(filter-out $(build_resx_list),$(RESOURCES_ESC)),$(if $(call is_cultured_resource,$(call get_resource_name,$(res))),,$(res)))
build_others_list = $(build_non_culture_others_list)
build_xamlg_list = $(filter %.xaml.g.cs, $(FILES))
# resgen all .resx resources
build_resx_files = $(foreach res, $(build_resx_list), $(call get_resource_name,$(res)))
build_resx_resources_esc = $(build_resx_files:.resx=.resources)
build_resx_resources = $(call q2s,$(build_resx_resources_esc))
# embed resources for the main assembly
build_resx_resources_hack = $(subst .resx,.resources, $(build_non_culture_resx_list))
# use unesc2, as build_resx_resources_embed is quoted
build_resx_resources_embed = $(call unesc2,$(build_resx_resources_hack:%='-resource:%'))
build_others_files = $(call q2s,$(foreach res, $(build_others_list),$(call get_resource_name,$(res))))
build_others_resources = $(build_others_files)
# use unesc2, as build_others_resources_embed is quoted
build_others_resources_embed = $(call unesc2,$(build_others_list:%='-resource:$(srcdir)/%'))
build_resources = $(build_resx_resources) $(build_others_resources)
build_resources_embed = $(build_resx_resources_embed) $(build_others_resources_embed)
# -usesourcepath is available only for resgen2
emit_resgen_target_1=$(call q2s,$1) : $(call q2s,$(subst .resources,.resx,$1)); cd '$$(shell dirname '$$<')' && MONO_IOMAP=drive $$(RESGEN) '$$(shell basename '$$<')' '$$(shell basename '$$@')'
emit_resgen_target_2=$(call q2s,$1) : $(call q2s,$(subst .resources,.resx,$1)); MONO_IOMAP=drive $$(RESGEN) -usesourcepath '$$<' '$$@'
emit_resgen_target=$(if $(filter resgen2,$(RESGEN)),$(emit_resgen_target_2),$(emit_resgen_target_1))
emit_resgen_targets=$(foreach res,$(build_resx_resources_esc),$(eval $(call emit_resgen_target,$(res))))
build_references_ref = $(call q2s,$(foreach ref, $(call s2q,$(REFERENCES)), $(if $(filter -pkg:%, $(ref)), $(ref), $(if $(filter -r:%, $(ref)), $(ref), -r:$(ref)))))
build_references_ref += $(call q2s,$(foreach ref, $(call s2q,$(DLL_REFERENCES)), -r:$(ref)))
build_references_ref += $(call q2s,$(foreach ref, $(call s2q,$(PROJECT_REFERENCES)), -r:$(ref)))
s2q2s=$(call unesc2,$(call s2q,$1))
cp_actual=test -z $1 || cp $1 $2
cp=$(call cp_actual,'$(call s2q2s,$1)','$(call s2q2s,$2)')
rm_actual=test -z '$1' || rm -f '$2'
rm=$(call rm_actual,$(call s2q2s,$1),$(call s2q2s,$2)/$(shell basename '$(call s2q2s,$1)'))
EXTRA_DIST += $(build_sources) $(build_resx_files) $(build_others_files) $(ASSEMBLY_WRAPPER_IN) $(EXTRAS) $(DATA_FILES) $(build_culture_res_files)
CLEANFILES += $(ASSEMBLY) $(ASSEMBLY).mdb $(BINARIES) $(build_resx_resources) $(build_satellite_assembly_list)
DISTCLEANFILES = $(GENERATED_FILES) $(pc_files) $(BUILD_DIR)/*
pkglib_SCRIPTS = $(ASSEMBLY)
bin_SCRIPTS = $(BINARIES)
programfilesdir = @libdir@/@PACKAGE@
programfiles_DATA = $(PROGRAMFILES)
linuxpkgconfigdir = @libdir@/pkgconfig
linuxpkgconfig_DATA = $(LINUX_PKGCONFIG)
# macros
# $(call emit-deploy-target,deploy-variable-name)
define emit-deploy-target
$($1): $($1_SOURCE)
mkdir -p '$$(shell dirname '$$@')'
cp '$$<' '$$@'
endef
# $(call emit-deploy-wrapper,wrapper-variable-name,wrapper-sourcefile,x)
# assumes that for a wrapper foo.pc its source template is foo.pc.in
# if $3 is non-empty then wrapper is marked exec
define emit-deploy-wrapper
$($1): $2
mkdir -p '$$(shell dirname '$$@')'
cp '$$<' '$$@'
$(if $3,chmod +x '$$@')
endef
# generating satellite assemblies
culture_resources = $(foreach res, $(RESOURCES_ESC), $(if $(call is_cultured_resource,$(call get_resource_name, $(res))),$(res)))
cultures = $(sort $(foreach res, $(culture_resources), $(call get_culture,$(call get_resource_name,$(res)))))
culture_resource_dependencies = $(call q2s,$(BUILD_DIR)/$1/$(SATELLITE_ASSEMBLY_NAME): $(subst .resx,.resources,$2))
culture_resource_commandlines = $(call unesc2,cmd_line_satellite_$1 += '/embed:$(subst .resx,.resources,$2)')
build_satellite_assembly_list = $(call q2s,$(cultures:%=$(BUILD_DIR)/%/$(SATELLITE_ASSEMBLY_NAME)))
build_culture_res_files = $(call q2s,$(foreach res, $(culture_resources),$(call get_resource_name,$(res))))
install_satellite_assembly_list = $(subst $(BUILD_DIR),$(DESTDIR)$(libdir)/$(PACKAGE),$(build_satellite_assembly_list))
$(eval $(foreach res, $(culture_resources), $(eval $(call culture_resource_dependencies,$(call get_culture,$(call get_resource_name,$(res))),$(call get_resource_name,$(res))))))
$(eval $(foreach res, $(culture_resources), $(eval $(call culture_resource_commandlines,$(call get_culture,$(call get_resource_name,$(res))),$(res)))))
$(build_satellite_assembly_list): $(BUILD_DIR)/%/$(SATELLITE_ASSEMBLY_NAME):
mkdir -p '$(@D)'
$(AL) -out:'$@' -culture:$* -t:lib $(cmd_line_satellite_$*)
$(install_satellite_assembly_list):
mkdir -p '$(@D)'
cp $(subst $(DESTDIR)$(libdir)/$(PACKAGE), $(BUILD_DIR), $@) $@
install-satellite-assemblies: $(install_satellite_assembly_list)
uninstall-satellite-assemblies:
rm -rf $(install_satellite_assembly_list)

Просмотреть файл

@ -0,0 +1,106 @@
EXTRA_DIST =
# Warning: This is an automatically generated file, do not edit!
if ENABLE_DEBUG
ASSEMBLY_COMPILER_COMMAND = gmcs
ASSEMBLY_COMPILER_FLAGS = -noconfig -codepage:utf8 -warn:4 -optimize- -debug "-define:DEBUG"
ASSEMBLY = bin/Debug/Mono.VisualC.Code.dll
ASSEMBLY_MDB = $(ASSEMBLY).mdb
COMPILE_TARGET = library
PROJECT_REFERENCES = \
../Mono.VisualC.Interop/bin/Debug/Mono.VisualC.Interop.dll
BUILD_DIR = bin/Debug
MONO_VISUALC_INTEROP_DLL_SOURCE=../Mono.VisualC.Interop/bin/Debug/Mono.VisualC.Interop.dll
MONO_VISUALC_INTEROP_DLL=$(BUILD_DIR)/Mono.VisualC.Interop.dll
MONO_VISUALC_CODE_DLL_MDB_SOURCE=bin/Debug/Mono.VisualC.Code.dll.mdb
MONO_VISUALC_CODE_DLL_MDB=$(BUILD_DIR)/Mono.VisualC.Code.dll.mdb
CPPINTEROP_DLL=
endif
if ENABLE_RELEASE
ASSEMBLY_COMPILER_COMMAND = gmcs
ASSEMBLY_COMPILER_FLAGS = -noconfig -codepage:utf8 -warn:4 -optimize-
ASSEMBLY = bin/Release/Mono.VisualC.Code.dll
ASSEMBLY_MDB =
COMPILE_TARGET = library
PROJECT_REFERENCES = \
../Mono.VisualC.Interop/bin/Release/CPPInterop.dll
BUILD_DIR = bin/Release
MONO_VISUALC_INTEROP_DLL=
MONO_VISUALC_CODE_DLL_MDB=
CPPINTEROP_DLL_SOURCE=../Mono.VisualC.Interop/bin/Release/CPPInterop.dll
CPPINTEROP_DLL=$(BUILD_DIR)/CPPInterop.dll
endif
AL=al2
SATELLITE_ASSEMBLY_NAME=$(notdir $(basename $(ASSEMBLY))).resources.dll
PROGRAMFILES = \
$(MONO_VISUALC_INTEROP_DLL) \
$(MONO_VISUALC_CODE_DLL_MDB) \
$(CPPINTEROP_DLL)
LINUX_PKGCONFIG = \
$(MONO_VISUALC_CODE_PC)
RESGEN=resgen2
all: $(ASSEMBLY) $(PROGRAMFILES) $(LINUX_PKGCONFIG)
FILES = \
AssemblyInfo.cs \
CodeAtom.cs \
Atoms/Preprocessor.cs \
CodeContainer.cs \
Atoms/Class.cs \
CodeUnit.cs \
Access.cs \
Atoms/Method.cs \
Atoms/Enumeration.cs \
CodeDomExtensions.cs \
Atoms/Property.cs \
Atoms/Field.cs \
Atoms/Union.cs \
NameTypePair.cs
DATA_FILES =
RESOURCES =
EXTRAS = \
Atoms \
mono.visualc.code.pc.in
REFERENCES = \
System \
System.Core
DLL_REFERENCES =
CLEANFILES = $(PROGRAMFILES) $(LINUX_PKGCONFIG)
include $(top_srcdir)/Makefile.include
MONO_VISUALC_CODE_PC = $(BUILD_DIR)/mono.visualc.code.pc
$(eval $(call emit-deploy-target,MONO_VISUALC_INTEROP_DLL))
$(eval $(call emit-deploy-wrapper,MONO_VISUALC_CODE_PC,mono.visualc.code.pc))
$(eval $(call emit-deploy-target,CPPINTEROP_DLL))
$(eval $(call emit_resgen_targets))
$(build_xamlg_list): %.xaml.g.cs: %.xaml
xamlg '$<'
$(ASSEMBLY_MDB): $(ASSEMBLY)
$(ASSEMBLY): $(build_sources) $(build_resources) $(build_datafiles) $(DLL_REFERENCES) $(PROJECT_REFERENCES) $(build_xamlg_list) $(build_satellite_assembly_list)
mkdir -p $(shell dirname $(ASSEMBLY))
$(ASSEMBLY_COMPILER_COMMAND) $(ASSEMBLY_COMPILER_FLAGS) -out:$(ASSEMBLY) -target:$(COMPILE_TARGET) $(build_sources_embed) $(build_resources_embed) $(build_references_ref)

Просмотреть файл

@ -0,0 +1,6 @@
Name: Mono.VisualC.Code
Description: Mono.VisualC.Code
Version: 0.1
Requires:
Libs: -r:@expanded_libdir@/@PACKAGE@/Mono.VisualC.Code.dll

Просмотреть файл

@ -0,0 +1,106 @@
EXTRA_DIST =
# Warning: This is an automatically generated file, do not edit!
if ENABLE_DEBUG
ASSEMBLY_COMPILER_COMMAND = gmcs
ASSEMBLY_COMPILER_FLAGS = -noconfig -codepage:utf8 -warn:4 -optimize- -debug "-define:DEBUG"
ASSEMBLY = bin/Debug/Mono.VisualC.Interop.dll
ASSEMBLY_MDB = $(ASSEMBLY).mdb
COMPILE_TARGET = library
PROJECT_REFERENCES =
BUILD_DIR = bin/Debug
MONO_VISUALC_INTEROP_DLL_MDB_SOURCE=bin/Debug/Mono.VisualC.Interop.dll.mdb
MONO_VISUALC_INTEROP_DLL_MDB=$(BUILD_DIR)/Mono.VisualC.Interop.dll.mdb
endif
if ENABLE_RELEASE
ASSEMBLY_COMPILER_COMMAND = gmcs
ASSEMBLY_COMPILER_FLAGS = -noconfig -codepage:utf8 -warn:4 -optimize-
ASSEMBLY = bin/Release/CPPInterop.dll
ASSEMBLY_MDB =
COMPILE_TARGET = library
PROJECT_REFERENCES =
BUILD_DIR = bin/Release
MONO_VISUALC_INTEROP_DLL_MDB=
endif
AL=al2
SATELLITE_ASSEMBLY_NAME=$(notdir $(basename $(ASSEMBLY))).resources.dll
PROGRAMFILES = \
$(MONO_VISUALC_INTEROP_DLL_MDB)
LINUX_PKGCONFIG = \
$(MONO_VISUALC_INTEROP_PC)
RESGEN=resgen2
all: $(ASSEMBLY) $(PROGRAMFILES) $(LINUX_PKGCONFIG)
FILES = \
CppLibrary.cs \
AssemblyInfo.cs \
ABI/CppAbi.cs \
Interfaces.cs \
ABI/VTableManaged.cs \
Attributes.cs \
CppInstancePtr.cs \
CppField.cs \
ABI/VTable.cs \
ABI/MethodType.cs \
ABI/Impl/ItaniumAbi.cs \
ABI/Impl/VirtualOnlyAbi.cs \
ABI/Impl/MsvcAbi.cs \
CppObjectMarshaler.cs \
CppType.cs \
CppTypeInfo.cs \
ABI/Impl/ItaniumTypeInfo.cs \
Util/IEnumerableTransform.cs \
Util/LazyGeneratedList.cs \
Util/DelegateTypeCache.cs \
Util/ReflectionHelper.cs \
ABI/Impl/MsvcTypeInfo.cs \
Util/MethodSignature.cs \
CppModifiers.cs
DATA_FILES =
RESOURCES =
EXTRAS = \
ABI \
ABI/Impl \
Util \
mono.visualc.interop.pc.in
REFERENCES = \
System \
System.Core
DLL_REFERENCES =
CLEANFILES = $(PROGRAMFILES) $(LINUX_PKGCONFIG)
include $(top_srcdir)/Makefile.include
MONO_VISUALC_INTEROP_PC = $(BUILD_DIR)/mono.visualc.interop.pc
$(eval $(call emit-deploy-wrapper,MONO_VISUALC_INTEROP_PC,mono.visualc.interop.pc))
$(eval $(call emit_resgen_targets))
$(build_xamlg_list): %.xaml.g.cs: %.xaml
xamlg '$<'
$(ASSEMBLY_MDB): $(ASSEMBLY)
$(ASSEMBLY): $(build_sources) $(build_resources) $(build_datafiles) $(DLL_REFERENCES) $(PROJECT_REFERENCES) $(build_xamlg_list) $(build_satellite_assembly_list)
mkdir -p $(shell dirname $(ASSEMBLY))
$(ASSEMBLY_COMPILER_COMMAND) $(ASSEMBLY_COMPILER_FLAGS) -out:$(ASSEMBLY) -target:$(COMPILE_TARGET) $(build_sources_embed) $(build_resources_embed) $(build_references_ref)

Просмотреть файл

@ -0,0 +1,6 @@
Name: Mono.VisualC.Interop
Description: Mono.VisualC.Interop
Version: 0.1
Requires:
Libs: -r:@expanded_libdir@/@PACKAGE@/CPPInterop.dll

110
src/QtBindings/Makefile.am Normal file
Просмотреть файл

@ -0,0 +1,110 @@
EXTRA_DIST =
# Warning: This is an automatically generated file, do not edit!
if ENABLE_DEBUG
ASSEMBLY_COMPILER_COMMAND = gmcs
ASSEMBLY_COMPILER_FLAGS = -noconfig -codepage:utf8 -unsafe -warn:4 -optimize- -debug "-define:DEBUG"
ASSEMBLY = bin/Debug/QtBindings.dll
ASSEMBLY_MDB = $(ASSEMBLY).mdb
COMPILE_TARGET = library
PROJECT_REFERENCES = \
../Mono.VisualC.Interop/bin/Debug/Mono.VisualC.Interop.dll
BUILD_DIR = bin/Debug
QTBINDINGS_DLL_CONFIG_SOURCE=QtBindings.dll.config
MONO_VISUALC_INTEROP_DLL_SOURCE=../Mono.VisualC.Interop/bin/Debug/Mono.VisualC.Interop.dll
MONO_VISUALC_INTEROP_DLL=$(BUILD_DIR)/Mono.VisualC.Interop.dll
QTBINDINGS_DLL_MDB_SOURCE=bin/Debug/QtBindings.dll.mdb
QTBINDINGS_DLL_MDB=$(BUILD_DIR)/QtBindings.dll.mdb
CPPINTEROP_DLL=
endif
if ENABLE_RELEASE
ASSEMBLY_COMPILER_COMMAND = gmcs
ASSEMBLY_COMPILER_FLAGS = -noconfig -codepage:utf8 -unsafe -warn:4 -optimize-
ASSEMBLY = bin/Release/QtBindings.dll
ASSEMBLY_MDB =
COMPILE_TARGET = library
PROJECT_REFERENCES = \
../Mono.VisualC.Interop/bin/Release/CPPInterop.dll
BUILD_DIR = bin/Release
QTBINDINGS_DLL_CONFIG_SOURCE=QtBindings.dll.config
MONO_VISUALC_INTEROP_DLL=
QTBINDINGS_DLL_MDB=
CPPINTEROP_DLL_SOURCE=../Mono.VisualC.Interop/bin/Release/CPPInterop.dll
CPPINTEROP_DLL=$(BUILD_DIR)/CPPInterop.dll
endif
AL=al2
SATELLITE_ASSEMBLY_NAME=$(notdir $(basename $(ASSEMBLY))).resources.dll
PROGRAMFILES = \
$(QTBINDINGS_DLL_CONFIG) \
$(MONO_VISUALC_INTEROP_DLL) \
$(QTBINDINGS_DLL_MDB) \
$(CPPINTEROP_DLL)
LINUX_PKGCONFIG = \
$(QTBINDINGS_PC)
RESGEN=resgen2
all: $(ASSEMBLY) $(PROGRAMFILES) $(LINUX_PKGCONFIG)
FILES = \
AssemblyInfo.cs \
Libs.cs \
Gui/QApplication.cs \
Core/QGlobal.cs \
Core/QCoreApplication.cs \
Core/QObject.cs \
Gui/QPushButton.cs \
Gui/QPaintDevice.cs \
Gui/QWidget.cs \
Gui/QAbstractButton.cs \
Core/QString.cs \
Core/QSize.cs
DATA_FILES =
RESOURCES =
EXTRAS = \
QtBindings.dll.config \
Gui \
Core \
qtbindings.pc.in
REFERENCES = \
System
DLL_REFERENCES =
CLEANFILES = $(PROGRAMFILES) $(LINUX_PKGCONFIG)
include $(top_srcdir)/Makefile.include
QTBINDINGS_DLL_CONFIG = $(BUILD_DIR)/QtBindings.dll.config
QTBINDINGS_PC = $(BUILD_DIR)/qtbindings.pc
$(eval $(call emit-deploy-target,QTBINDINGS_DLL_CONFIG))
$(eval $(call emit-deploy-target,MONO_VISUALC_INTEROP_DLL))
$(eval $(call emit-deploy-wrapper,QTBINDINGS_PC,qtbindings.pc))
$(eval $(call emit-deploy-target,CPPINTEROP_DLL))
$(eval $(call emit_resgen_targets))
$(build_xamlg_list): %.xaml.g.cs: %.xaml
xamlg '$<'
$(ASSEMBLY_MDB): $(ASSEMBLY)
$(ASSEMBLY): $(build_sources) $(build_resources) $(build_datafiles) $(DLL_REFERENCES) $(PROJECT_REFERENCES) $(build_xamlg_list) $(build_satellite_assembly_list)
mkdir -p $(shell dirname $(ASSEMBLY))
$(ASSEMBLY_COMPILER_COMMAND) $(ASSEMBLY_COMPILER_FLAGS) -out:$(ASSEMBLY) -target:$(COMPILE_TARGET) $(build_sources_embed) $(build_resources_embed) $(build_references_ref)

Просмотреть файл

@ -0,0 +1,6 @@
Name: QtBindings
Description: QtBindings
Version: 0.1
Requires:
Libs: -r:@expanded_libdir@/@PACKAGE@/QtBindings.dll

104
src/QtTest/Makefile.am Normal file
Просмотреть файл

@ -0,0 +1,104 @@
EXTRA_DIST =
# Warning: This is an automatically generated file, do not edit!
if ENABLE_DEBUG
ASSEMBLY_COMPILER_COMMAND = gmcs
ASSEMBLY_COMPILER_FLAGS = -noconfig -codepage:utf8 -warn:4 -optimize- -debug "-define:DEBUG"
ASSEMBLY = bin/Debug/QtTest.exe
ASSEMBLY_MDB = $(ASSEMBLY).mdb
COMPILE_TARGET = exe
PROJECT_REFERENCES = \
../QtBindings/bin/Debug/QtBindings.dll \
../Mono.VisualC.Interop/bin/Debug/Mono.VisualC.Interop.dll
BUILD_DIR = bin/Debug
QTBINDINGS_DLL_SOURCE=../QtBindings/bin/Debug/QtBindings.dll
QTBINDINGS_DLL_CONFIG_SOURCE=../QtBindings/QtBindings.dll.config
MONO_VISUALC_INTEROP_DLL_SOURCE=../Mono.VisualC.Interop/bin/Debug/Mono.VisualC.Interop.dll
MONO_VISUALC_INTEROP_DLL=$(BUILD_DIR)/Mono.VisualC.Interop.dll
QTTEST_EXE_MDB_SOURCE=bin/Debug/QtTest.exe.mdb
QTTEST_EXE_MDB=$(BUILD_DIR)/QtTest.exe.mdb
CPPINTEROP_DLL=
endif
if ENABLE_RELEASE
ASSEMBLY_COMPILER_COMMAND = gmcs
ASSEMBLY_COMPILER_FLAGS = -noconfig -codepage:utf8 -warn:4 -optimize-
ASSEMBLY = bin/Release/QtTest.exe
ASSEMBLY_MDB =
COMPILE_TARGET = exe
PROJECT_REFERENCES = \
../QtBindings/bin/Release/QtBindings.dll \
../Mono.VisualC.Interop/bin/Release/CPPInterop.dll
BUILD_DIR = bin/Release
QTBINDINGS_DLL_SOURCE=../QtBindings/bin/Release/QtBindings.dll
QTBINDINGS_DLL_CONFIG_SOURCE=../QtBindings/QtBindings.dll.config
MONO_VISUALC_INTEROP_DLL=
QTTEST_EXE_MDB=
CPPINTEROP_DLL_SOURCE=../Mono.VisualC.Interop/bin/Release/CPPInterop.dll
CPPINTEROP_DLL=$(BUILD_DIR)/CPPInterop.dll
endif
AL=al2
SATELLITE_ASSEMBLY_NAME=$(notdir $(basename $(ASSEMBLY))).resources.dll
PROGRAMFILES = \
$(QTBINDINGS_DLL) \
$(QTBINDINGS_DLL_CONFIG) \
$(MONO_VISUALC_INTEROP_DLL) \
$(QTTEST_EXE_MDB) \
$(CPPINTEROP_DLL)
BINARIES = \
$(QTTEST)
RESGEN=resgen2
all: $(ASSEMBLY) $(PROGRAMFILES) $(BINARIES)
FILES = \
Main.cs \
AssemblyInfo.cs
DATA_FILES =
RESOURCES =
EXTRAS = \
qttest.in
REFERENCES = \
System
DLL_REFERENCES =
CLEANFILES = $(PROGRAMFILES) $(BINARIES)
include $(top_srcdir)/Makefile.include
QTBINDINGS_DLL = $(BUILD_DIR)/QtBindings.dll
QTBINDINGS_DLL_CONFIG = $(BUILD_DIR)/QtBindings.dll.config
QTTEST = $(BUILD_DIR)/qttest
$(eval $(call emit-deploy-target,QTBINDINGS_DLL))
$(eval $(call emit-deploy-target,QTBINDINGS_DLL_CONFIG))
$(eval $(call emit-deploy-target,MONO_VISUALC_INTEROP_DLL))
$(eval $(call emit-deploy-wrapper,QTTEST,qttest,x))
$(eval $(call emit-deploy-target,CPPINTEROP_DLL))
$(eval $(call emit_resgen_targets))
$(build_xamlg_list): %.xaml.g.cs: %.xaml
xamlg '$<'
$(ASSEMBLY_MDB): $(ASSEMBLY)
$(ASSEMBLY): $(build_sources) $(build_resources) $(build_datafiles) $(DLL_REFERENCES) $(PROJECT_REFERENCES) $(build_xamlg_list) $(build_satellite_assembly_list)
mkdir -p $(shell dirname $(ASSEMBLY))
$(ASSEMBLY_COMPILER_COMMAND) $(ASSEMBLY_COMPILER_FLAGS) -out:$(ASSEMBLY) -target:$(COMPILE_TARGET) $(build_sources_embed) $(build_resources_embed) $(build_references_ref)

3
src/QtTest/qttest.in Normal file
Просмотреть файл

@ -0,0 +1,3 @@
#!/bin/sh
exec mono "@expanded_libdir@/@PACKAGE@/QtTest.exe" "$@"

102
src/Tests/Makefile.am Normal file
Просмотреть файл

@ -0,0 +1,102 @@
EXTRA_DIST =
# Warning: This is an automatically generated file, do not edit!
if ENABLE_DEBUG
ASSEMBLY_COMPILER_COMMAND = gmcs
ASSEMBLY_COMPILER_FLAGS = -noconfig -codepage:utf8 -warn:4 -optimize- -debug "-define:DEBUG"
ASSEMBLY = bin/Debug/Tests.dll
ASSEMBLY_MDB = $(ASSEMBLY).mdb
COMPILE_TARGET = library
PROJECT_REFERENCES = \
../Mono.VisualC.Interop/bin/Debug/Mono.VisualC.Interop.dll
BUILD_DIR = bin/Debug
MONO_VISUALC_INTEROP_DLL_SOURCE=../Mono.VisualC.Interop/bin/Debug/Mono.VisualC.Interop.dll
MONO_VISUALC_INTEROP_DLL=$(BUILD_DIR)/Mono.VisualC.Interop.dll
TESTS_DLL_MDB_SOURCE=bin/Debug/Tests.dll.mdb
TESTS_DLL_MDB=$(BUILD_DIR)/Tests.dll.mdb
CPPINTEROP_DLL=
endif
if ENABLE_RELEASE
ASSEMBLY_COMPILER_COMMAND = gmcs
ASSEMBLY_COMPILER_FLAGS = -noconfig -codepage:utf8 -warn:4 -optimize-
ASSEMBLY = bin/Release/Tests.dll
ASSEMBLY_MDB =
COMPILE_TARGET = library
PROJECT_REFERENCES = \
../Mono.VisualC.Interop/bin/Release/CPPInterop.dll
BUILD_DIR = bin/Release
MONO_VISUALC_INTEROP_DLL=
TESTS_DLL_MDB=
CPPINTEROP_DLL_SOURCE=../Mono.VisualC.Interop/bin/Release/CPPInterop.dll
CPPINTEROP_DLL=$(BUILD_DIR)/CPPInterop.dll
endif
AL=al2
SATELLITE_ASSEMBLY_NAME=$(notdir $(basename $(ASSEMBLY))).resources.dll
PROGRAMFILES = \
$(MONO_VISUALC_INTEROP_DLL) \
$(TESTS_DLL_MDB) \
$(CPPINTEROP_DLL)
LINUX_PKGCONFIG = \
$(TESTS_PC)
RESGEN=resgen2
all: $(ASSEMBLY) $(PROGRAMFILES) $(LINUX_PKGCONFIG)
FILES = \
CppInstancePtrTests.cs \
Support/CSimpleClass.cs \
CppLibraryTests.cs \
ItaniumAbiTests.cs \
MsvcAbiTests.cs \
Support/CppMockObject.cs \
Support/CppNUnitAsserts.cs \
SharedAbiTests.cs \
Support/VirtualMethodTestClass.cs
DATA_FILES =
RESOURCES =
EXTRAS = \
Support \
tests.pc.in
REFERENCES = \
System \
nunit.core \
nunit.framework
DLL_REFERENCES =
CLEANFILES = $(PROGRAMFILES) $(LINUX_PKGCONFIG)
include $(top_srcdir)/Makefile.include
TESTS_PC = $(BUILD_DIR)/tests.pc
$(eval $(call emit-deploy-target,MONO_VISUALC_INTEROP_DLL))
$(eval $(call emit-deploy-wrapper,TESTS_PC,tests.pc))
$(eval $(call emit-deploy-target,CPPINTEROP_DLL))
$(eval $(call emit_resgen_targets))
$(build_xamlg_list): %.xaml.g.cs: %.xaml
xamlg '$<'
$(ASSEMBLY_MDB): $(ASSEMBLY)
$(ASSEMBLY): $(build_sources) $(build_resources) $(build_datafiles) $(DLL_REFERENCES) $(PROJECT_REFERENCES) $(build_xamlg_list) $(build_satellite_assembly_list)
mkdir -p $(shell dirname $(ASSEMBLY))
$(ASSEMBLY_COMPILER_COMMAND) $(ASSEMBLY_COMPILER_FLAGS) -out:$(ASSEMBLY) -target:$(COMPILE_TARGET) $(build_sources_embed) $(build_resources_embed) $(build_references_ref)

6
src/Tests/tests.pc.in Normal file
Просмотреть файл

@ -0,0 +1,6 @@
Name: Tests
Description: Tests
Version: 0.1
Requires:
Libs: -r:@expanded_libdir@/@PACKAGE@/Tests.dll

83
src/autogen.sh Executable file
Просмотреть файл

@ -0,0 +1,83 @@
#! /bin/sh
PROJECT=CPPInterop
FILE=
CONFIGURE=configure.ac
: ${AUTOCONF=autoconf}
: ${AUTOHEADER=autoheader}
: ${AUTOMAKE=automake}
: ${LIBTOOLIZE=libtoolize}
: ${ACLOCAL=aclocal}
: ${LIBTOOL=libtool}
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd $srcdir
TEST_TYPE=-f
aclocalinclude="-I . $ACLOCAL_FLAGS"
DIE=0
($AUTOCONF --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autoconf installed to compile $PROJECT."
echo "Download the appropriate package for your distribution,"
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
DIE=1
}
($AUTOMAKE --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have automake installed to compile $PROJECT."
echo "Get ftp://sourceware.cygnus.com/pub/automake/automake-1.4.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
}
(grep "^AM_PROG_LIBTOOL" $CONFIGURE >/dev/null) && {
($LIBTOOL --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "**Error**: You must have \`libtool' installed to compile $PROJECT."
echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
}
}
if test "$DIE" -eq 1; then
exit 1
fi
#test $TEST_TYPE $FILE || {
# echo "You must run this script in the top-level $PROJECT directory"
# exit 1
#}
if test -z "$*"; then
echo "I am going to run ./configure with no arguments - if you wish "
echo "to pass any to it, please specify them on the $0 command line."
fi
case $CC in
*xlc | *xlc\ * | *lcc | *lcc\ *) am_opt=--include-deps;;
esac
(grep "^AM_PROG_LIBTOOL" $CONFIGURE >/dev/null) && {
echo "Running $LIBTOOLIZE ..."
$LIBTOOLIZE --force --copy
}
echo "Running $ACLOCAL $aclocalinclude ..."
$ACLOCAL $aclocalinclude
echo "Running $AUTOMAKE --gnu $am_opt ..."
$AUTOMAKE --add-missing --gnu $am_opt
echo "Running $AUTOCONF ..."
$AUTOCONF
echo Running $srcdir/configure $conf_flags "$@" ...
$srcdir/configure --enable-maintainer-mode $conf_flags "$@" \

70
src/configure.ac Normal file
Просмотреть файл

@ -0,0 +1,70 @@
dnl Warning: This is an automatically generated file, do not edit!
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ([2.54])
AC_INIT([CPPInterop], [0.1])
AM_INIT_AUTOMAKE([foreign])
AM_MAINTAINER_MODE
dnl pkg-config
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
if test "x$PKG_CONFIG" = "xno"; then
AC_MSG_ERROR([You need to install pkg-config])
fi
SHAMROCK_EXPAND_LIBDIR
SHAMROCK_EXPAND_BINDIR
SHAMROCK_EXPAND_DATADIR
AC_PROG_INSTALL
AC_PATH_PROG(GMCS, gmcs, no)
if test "x$GMCS" = "xno"; then
AC_MSG_ERROR([gmcs Not found])
fi
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--enable-debug],
[Use 'DEBUG' Configuration [default=YES]]),
enable_debug=yes, enable_debug=no)
AM_CONDITIONAL(ENABLE_DEBUG, test x$enable_debug = xyes)
if test "x$enable_debug" = "xyes" ; then
CONFIG_REQUESTED="yes"
fi
AC_ARG_ENABLE(release,
AC_HELP_STRING([--enable-release],
[Use 'RELEASE' Configuration [default=NO]]),
enable_release=yes, enable_release=no)
AM_CONDITIONAL(ENABLE_RELEASE, test x$enable_release = xyes)
if test "x$enable_release" = "xyes" ; then
CONFIG_REQUESTED="yes"
fi
if test -z "$CONFIG_REQUESTED" ; then
AM_CONDITIONAL(ENABLE_DEBUG, true)
enable_debug=yes
fi
dnl package checks, common for all configs
dnl package checks, per config
AC_CONFIG_FILES([
Mono.VisualC.Interop/mono.visualc.interop.pc
Mono.VisualC.Interop/Makefile
Tests/tests.pc
Tests/Makefile
QtBindings/qtbindings.pc
QtBindings/Makefile
Mono.VisualC.Code/mono.visualc.code.pc
Mono.VisualC.Code/Makefile
generator/generator
generator/Makefile
QtTest/qttest
QtTest/Makefile
Makefile
])
AC_OUTPUT

50
src/expansions.m4 Normal file
Просмотреть файл

@ -0,0 +1,50 @@
AC_DEFUN([SHAMROCK_EXPAND_LIBDIR],
[
expanded_libdir=`(
case $prefix in
NONE) prefix=$ac_default_prefix ;;
*) ;;
esac
case $exec_prefix in
NONE) exec_prefix=$prefix ;;
*) ;;
esac
eval echo $libdir
)`
AC_SUBST(expanded_libdir)
])
AC_DEFUN([SHAMROCK_EXPAND_BINDIR],
[
expanded_bindir=`(
case $prefix in
NONE) prefix=$ac_default_prefix ;;
*) ;;
esac
case $exec_prefix in
NONE) exec_prefix=$prefix ;;
*) ;;
esac
eval echo $bindir
)`
AC_SUBST(expanded_bindir)
])
AC_DEFUN([SHAMROCK_EXPAND_DATADIR],
[
case $prefix in
NONE) prefix=$ac_default_prefix ;;
*) ;;
esac
case $exec_prefix in
NONE) exec_prefix=$prefix ;;
*) ;;
esac
expanded_datadir=`(eval echo $datadir)`
expanded_datadir=`(eval echo $expanded_datadir)`
AC_SUBST(expanded_datadir)
])

103
src/generator/Makefile.am Normal file
Просмотреть файл

@ -0,0 +1,103 @@
EXTRA_DIST =
# Warning: This is an automatically generated file, do not edit!
if ENABLE_DEBUG
ASSEMBLY_COMPILER_COMMAND = gmcs
ASSEMBLY_COMPILER_FLAGS = -noconfig -codepage:utf8 -warn:4 -optimize- -debug "-define:DEBUG"
ASSEMBLY = bin/Debug/generator.exe
ASSEMBLY_MDB = $(ASSEMBLY).mdb
COMPILE_TARGET = exe
PROJECT_REFERENCES = \
../Mono.VisualC.Code/bin/Debug/Mono.VisualC.Code.dll \
../Mono.VisualC.Interop/bin/Debug/Mono.VisualC.Interop.dll
BUILD_DIR = bin/Debug
MONO_VISUALC_CODE_DLL_SOURCE=../Mono.VisualC.Code/bin/Debug/Mono.VisualC.Code.dll
MONO_VISUALC_INTEROP_DLL_SOURCE=../Mono.VisualC.Interop/bin/Debug/Mono.VisualC.Interop.dll
MONO_VISUALC_INTEROP_DLL=$(BUILD_DIR)/Mono.VisualC.Interop.dll
GENERATOR_EXE_MDB_SOURCE=bin/Debug/generator.exe.mdb
GENERATOR_EXE_MDB=$(BUILD_DIR)/generator.exe.mdb
CPPINTEROP_DLL=
endif
if ENABLE_RELEASE
ASSEMBLY_COMPILER_COMMAND = gmcs
ASSEMBLY_COMPILER_FLAGS = -noconfig -codepage:utf8 -warn:4 -optimize-
ASSEMBLY = bin/Release/generator.exe
ASSEMBLY_MDB =
COMPILE_TARGET = exe
PROJECT_REFERENCES = \
../Mono.VisualC.Code/bin/Release/Mono.VisualC.Code.dll \
../Mono.VisualC.Interop/bin/Release/CPPInterop.dll
BUILD_DIR = bin/Release
MONO_VISUALC_CODE_DLL_SOURCE=../Mono.VisualC.Code/bin/Release/Mono.VisualC.Code.dll
MONO_VISUALC_INTEROP_DLL=
GENERATOR_EXE_MDB=
CPPINTEROP_DLL_SOURCE=../Mono.VisualC.Interop/bin/Release/CPPInterop.dll
CPPINTEROP_DLL=$(BUILD_DIR)/CPPInterop.dll
endif
AL=al2
SATELLITE_ASSEMBLY_NAME=$(notdir $(basename $(ASSEMBLY))).resources.dll
PROGRAMFILES = \
$(MONO_VISUALC_CODE_DLL) \
$(MONO_VISUALC_INTEROP_DLL) \
$(GENERATOR_EXE_MDB) \
$(CPPINTEROP_DLL)
BINARIES = \
$(GENERATOR)
RESGEN=resgen2
all: $(ASSEMBLY) $(PROGRAMFILES) $(BINARIES)
FILES = \
Main.cs \
Options.cs \
MethodSignature.cs
DATA_FILES =
RESOURCES =
EXTRAS = \
generator.in
REFERENCES = \
System \
System.Xml \
System.Xml.Linq \
System.Core
DLL_REFERENCES =
CLEANFILES = $(PROGRAMFILES) $(BINARIES)
include $(top_srcdir)/Makefile.include
MONO_VISUALC_CODE_DLL = $(BUILD_DIR)/Mono.VisualC.Code.dll
GENERATOR = $(BUILD_DIR)/generator
$(eval $(call emit-deploy-target,MONO_VISUALC_CODE_DLL))
$(eval $(call emit-deploy-target,MONO_VISUALC_INTEROP_DLL))
$(eval $(call emit-deploy-wrapper,GENERATOR,generator,x))
$(eval $(call emit-deploy-target,CPPINTEROP_DLL))
$(eval $(call emit_resgen_targets))
$(build_xamlg_list): %.xaml.g.cs: %.xaml
xamlg '$<'
$(ASSEMBLY_MDB): $(ASSEMBLY)
$(ASSEMBLY): $(build_sources) $(build_resources) $(build_datafiles) $(DLL_REFERENCES) $(PROJECT_REFERENCES) $(build_xamlg_list) $(build_satellite_assembly_list)
mkdir -p $(shell dirname $(ASSEMBLY))
$(ASSEMBLY_COMPILER_COMMAND) $(ASSEMBLY_COMPILER_FLAGS) -out:$(ASSEMBLY) -target:$(COMPILE_TARGET) $(build_sources_embed) $(build_resources_embed) $(build_references_ref)

Просмотреть файл

@ -0,0 +1,3 @@
#!/bin/sh
exec mono "@expanded_libdir@/@PACKAGE@/generator.exe" "$@"