summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Ostrovsky <David.Ostrovsky@gmx.de>2012-04-06 01:51:05 +0200
committerMatúš Kukan <matus.kukan@gmail.com>2012-04-13 13:07:50 +0200
commitbed6580ec330fea6bc7ee015adf1baf6298ed3fb (patch)
tree9cc38eba924866b57c59768e426ce46806ce1a6a
parent1830cf752e9abd2bb168e5e978b72038e1c4b263 (diff)
gbuild conversion: idlc module
-rw-r--r--Makefile2
-rw-r--r--Repository.mk5
-rw-r--r--RepositoryModule_ooo.mk1
-rw-r--r--idlc/CustomTarget_scanner.mk39
-rw-r--r--idlc/Executable_idlc.mk75
-rw-r--r--idlc/Executable_idlcpp.mk46
-rw-r--r--idlc/Makefile7
-rw-r--r--idlc/Module_idlc.mk35
-rw-r--r--idlc/inc/makefile.mk39
-rw-r--r--idlc/prj/build.lst4
-rw-r--r--idlc/prj/d.lst7
-rw-r--r--idlc/prj/makefile.mk1
-rw-r--r--idlc/source/makefile.mk124
-rw-r--r--idlc/source/preproc/makefile.mk77
14 files changed, 211 insertions, 251 deletions
diff --git a/Makefile b/Makefile
index 865a324b953d..338e620b46a0 100644
--- a/Makefile
+++ b/Makefile
@@ -66,6 +66,7 @@ hwpfilter\
i18npool\
i18nutil\
idl\
+idlc\
io\
javaunohelper\
jurt\
@@ -176,7 +177,6 @@ hunspell\
hyphen\
icc\
icu\
-idlc\
instsetoo_native\
jfreereport\
jpeg\
diff --git a/Repository.mk b/Repository.mk
index 1a3851e63f68..2bf19b6e0e4e 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -53,6 +53,11 @@ $(eval $(call gb_Helper_register_executables,NONE, \
xpdfimport \
))
+$(eval $(call gb_Helper_register_executables,SDK, \
+ idlc \
+ idlcpp \
+))
+
$(eval $(call gb_Helper_register_executables,OOO, \
spadmin.bin \
$(if $(filter $(GUIBASE)$(ENABLE_KDE),unxTRUE), \
diff --git a/RepositoryModule_ooo.mk b/RepositoryModule_ooo.mk
index a79028c27f41..ea5d5ab23816 100644
--- a/RepositoryModule_ooo.mk
+++ b/RepositoryModule_ooo.mk
@@ -67,6 +67,7 @@ $(eval $(call gb_Module_add_moduledirs,ooo,\
i18npool \
i18nutil \
idl \
+ idlc \
javaunohelper \
jvmaccess \
jvmfwk \
diff --git a/idlc/CustomTarget_scanner.mk b/idlc/CustomTarget_scanner.mk
new file mode 100644
index 000000000000..e7e3c2f6d668
--- /dev/null
+++ b/idlc/CustomTarget_scanner.mk
@@ -0,0 +1,39 @@
+# -*- 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 David Ostrovsky <d.ostrovsky@gmx.de> (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_CustomTarget_CustomTarget,idlc/scanner))
+
+ICSC := $(call gb_CustomTarget_get_workdir,idlc/scanner)
+
+$(call gb_CustomTarget_get_target,idlc/scanner) : $(ICSC)/scanner.cxx
+
+$(ICSC)/scanner.cxx : $(ICSC)/stripped_scanner.ll
+ flex -o$@ $<
+
+$(ICSC)/stripped_scanner.ll : $(SRCDIR)/idlc/source/scanner.ll | $(ICSC)/.dir
+ tr -d "\015" < $< > $@
+
+# vim:set shiftwidth=4 tabstop=4 noexpandtab:
diff --git a/idlc/Executable_idlc.mk b/idlc/Executable_idlc.mk
new file mode 100644
index 000000000000..7e19722c8f2f
--- /dev/null
+++ b/idlc/Executable_idlc.mk
@@ -0,0 +1,75 @@
+# -*- 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 David Ostrovsky <d.ostrovsky@gmx.de> (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_Executable_Executable,idlc))
+
+$(eval $(call gb_Executable_set_include,idlc,\
+ -I$(WORKDIR)/YaccTarget/idlc/source \
+ -I$(SRCDIR)/idlc/inc \
+ -I$(SRCDIR)/idlc/source \
+ $$(INCLUDE) \
+))
+
+$(eval $(call gb_Executable_use_libraries,idlc,\
+ reg \
+ sal \
+ salhelper \
+))
+
+$(eval $(call gb_Executable_add_grammars,idlc,\
+ idlc/source/parser \
+))
+
+$(WORKDIR)/GenCxxObject/YaccTarget/idlc/source/parser.o: T_CXXFLAGS := $(gb_LinkTarget_EXCEPTIONFLAGS) $(gb_LinkTarget_CXXFLAGS) $(CXXFLAGS)
+
+$(eval $(call gb_Executable_use_custom_headers,idlc,idlc/scanner))
+
+$(eval $(call gb_Executable_add_exception_objects,idlc,\
+ idlc/source/wrap_scanner \
+ idlc/source/idlcmain \
+ idlc/source/idlc \
+ idlc/source/idlccompile \
+ idlc/source/idlcproduce \
+ idlc/source/errorhandler \
+ idlc/source/options \
+ idlc/source/fehelper \
+ idlc/source/astdeclaration \
+ idlc/source/astscope \
+ idlc/source/aststack \
+ idlc/source/astdump \
+ idlc/source/astinterface \
+ idlc/source/aststruct \
+ idlc/source/aststructinstance \
+ idlc/source/astoperation \
+ idlc/source/astconstant \
+ idlc/source/astenum \
+ idlc/source/astarray \
+ idlc/source/astunion \
+ idlc/source/astexpression \
+ idlc/source/astservice \
+))
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/idlc/Executable_idlcpp.mk b/idlc/Executable_idlcpp.mk
new file mode 100644
index 000000000000..67805f3c6d66
--- /dev/null
+++ b/idlc/Executable_idlcpp.mk
@@ -0,0 +1,46 @@
+# -*- 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 David Ostrovsky <d.ostrovsky@gmx.de> (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_Executable_Executable,idlcpp))
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_Executable_use_libraries,idlcpp,\
+ gnu_getopt \
+))
+endif
+
+$(eval $(call gb_Executable_add_cobjects,idlcpp,\
+ idlc/source/preproc/cpp \
+ idlc/source/preproc/eval \
+ idlc/source/preproc/include \
+ idlc/source/preproc/lex \
+ idlc/source/preproc/macro \
+ idlc/source/preproc/nlist \
+ idlc/source/preproc/tokens \
+ idlc/source/preproc/unix \
+))
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/idlc/Makefile b/idlc/Makefile
new file mode 100644
index 000000000000..ccb1c85a04da
--- /dev/null
+++ b/idlc/Makefile
@@ -0,0 +1,7 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+
+module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+include $(module_directory)/../solenv/gbuild/partial_build.mk
+
+# vim: set noet sw=4 ts=4:
diff --git a/idlc/Module_idlc.mk b/idlc/Module_idlc.mk
new file mode 100644
index 000000000000..3c963105f138
--- /dev/null
+++ b/idlc/Module_idlc.mk
@@ -0,0 +1,35 @@
+# -*- 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 David Ostrovsky <d.ostrovsky@gmx.de> (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_Module_Module,idlc))
+
+$(eval $(call gb_Module_add_targets,idlc,\
+ CustomTarget_scanner \
+ Executable_idlc \
+ Executable_idlcpp \
+))
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/idlc/inc/makefile.mk b/idlc/inc/makefile.mk
deleted file mode 100644
index 07d7afadfe8e..000000000000
--- a/idlc/inc/makefile.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-PRJ=..
-
-PRJNAME=idlc
-TARGET=inc
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/idlc/prj/build.lst b/idlc/prj/build.lst
index 84f2ee180bcd..9a8fb1336959 100644
--- a/idlc/prj/build.lst
+++ b/idlc/prj/build.lst
@@ -1,5 +1,3 @@
ic idlc : registry NULL
ic idlc usr1 - all ic_mkout NULL
-ic idlc\inc nmake - all ic_inc NULL
-ic idlc\source\preproc nmake - all ic_preproc ic_inc NULL
-ic idlc\source nmake - all ic_source ic_inc NULL
+ic idlc\prj nmake - all ic_prj NULL
diff --git a/idlc/prj/d.lst b/idlc/prj/d.lst
index 8f617ceb2594..e69de29bb2d1 100644
--- a/idlc/prj/d.lst
+++ b/idlc/prj/d.lst
@@ -1,7 +0,0 @@
-..\%__SRC%\bin\idlc.exe %_DEST%\bin\idlc.exe
-..\%__SRC%\bin\idlc.pdb %_DEST%\bin\idlc.pdb
-..\%__SRC%\bin\idlcpp.exe %_DEST%\bin\idlcpp.exe
-..\%__SRC%\bin\idlcpp.pdb %_DEST%\bin\idlcpp.pdb
-
-..\%__SRC%\bin\idlc %_DEST%\bin\idlc
-..\%__SRC%\bin\idlcpp %_DEST%\bin\idlcpp
diff --git a/idlc/prj/makefile.mk b/idlc/prj/makefile.mk
new file mode 100644
index 000000000000..0997622e00f6
--- /dev/null
+++ b/idlc/prj/makefile.mk
@@ -0,0 +1 @@
+.INCLUDE : gbuildbridge.mk
diff --git a/idlc/source/makefile.mk b/idlc/source/makefile.mk
deleted file mode 100644
index 0f4232feadfe..000000000000
--- a/idlc/source/makefile.mk
+++ /dev/null
@@ -1,124 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..
-
-PRJNAME=idlc
-TARGET=idlc
-TARGETTYPE=CUI
-LIBTARGET=NO
-
-ENABLE_EXCEPTIONS=TRUE
-INCPRE=$(MISC)
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-CXXFILES= \
- wrap_scanner.cxx \
- wrap_parser.cxx \
- idlcmain.cxx \
- idlc.cxx \
- idlccompile.cxx \
- idlcproduce.cxx \
- errorhandler.cxx \
- options.cxx \
- fehelper.cxx \
- astdeclaration.cxx \
- astscope.cxx \
- aststack.cxx \
- astdump.cxx \
- astinterface.cxx \
- aststruct.cxx \
- aststructinstance.cxx \
- astoperation.cxx \
- astconstant.cxx \
- astenum.cxx \
- astarray.cxx \
- astunion.cxx \
- astexpression.cxx \
- astservice.cxx
-
-YACCTARGET=$(MISC)$/parser.cxx
-YACCFILES=parser.y
-
-OBJFILES= \
- $(OBJ)$/wrap_scanner.obj \
- $(OBJ)$/wrap_parser.obj \
- $(OBJ)$/idlcmain.obj \
- $(OBJ)$/idlc.obj \
- $(OBJ)$/idlccompile.obj \
- $(OBJ)$/idlcproduce.obj \
- $(OBJ)$/errorhandler.obj \
- $(OBJ)$/options.obj \
- $(OBJ)$/fehelper.obj \
- $(OBJ)$/astdeclaration.obj \
- $(OBJ)$/astscope.obj \
- $(OBJ)$/aststack.obj \
- $(OBJ)$/astdump.obj \
- $(OBJ)$/astinterface.obj \
- $(OBJ)$/aststruct.obj \
- $(OBJ)$/aststructinstance.obj \
- $(OBJ)$/astoperation.obj \
- $(OBJ)$/astconstant.obj \
- $(OBJ)$/astenum.obj \
- $(OBJ)$/astarray.obj \
- $(OBJ)$/astunion.obj \
- $(OBJ)$/astexpression.obj \
- $(OBJ)$/astservice.obj
-
-APP1TARGET= $(TARGET)
-APP1OBJS= $(OBJFILES)
-
-APP1RPATH=SDK
-
-APP1STDLIBS = \
- $(REGLIB) \
- $(SALLIB) \
- $(SALHELPERLIB)
-
-# --- Targets ------------------------------------------------------
-
-.IF "$(debug)" == ""
-YACCFLAGS+=-l
-.ELSE
-YACCFLAGS+=-v
-.ENDIF
-
-.INCLUDE : target.mk
-
-$(MISC)$/stripped_scanner.ll : scanner.ll
- tr -d "\015" < scanner.ll > $(MISC)$/stripped_scanner.ll
-
-$(MISC)$/scanner.cxx: $(MISC)$/stripped_scanner.ll
- flex -o$(MISC)$/scanner.cxx $(MISC)$/stripped_scanner.ll
-
-$(OBJ)$/wrap_parser.obj: $(MISC)$/parser.cxx
-$(OBJ)$/wrap_scanner.obj: $(MISC)$/scanner.cxx
diff --git a/idlc/source/preproc/makefile.mk b/idlc/source/preproc/makefile.mk
deleted file mode 100644
index 721a5cd3e703..000000000000
--- a/idlc/source/preproc/makefile.mk
+++ /dev/null
@@ -1,77 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=idlc
-TARGET=idlcpp
-TARGETTYPE=CUI
-
-# --- Settings -----------------------------------------------------
-
-NO_DEFAULT_STL=TRUE
-LIBSALCPPRT=$(0)
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-OBJFILES= \
- $(OBJ)$/cpp.obj \
- $(OBJ)$/eval.obj \
- $(OBJ)$/include.obj \
- $(OBJ)$/lex.obj \
- $(OBJ)$/macro.obj \
- $(OBJ)$/nlist.obj \
- $(OBJ)$/tokens.obj \
- $(OBJ)$/unix.obj
-
-# --- CPP -------------------------------------------------------
-
-APP1TARGET= $(TARGET)
-APP1RPATH=SDK
-
-.IF "$(GUI)" != "UNX"
-.IF "$(COM)" != "GCC"
-APP1OBJS=$(OBJ)$/cpp.obj
-.ENDIF
-.ENDIF
-
-APP1LIBS= $(LB)$/idlcpp.lib
-
-.IF "$(HAVE_GETOPT)" != "YES"
-.IF "$(GUI)$(COM)" == "WNTMSC"
-APP1STDLIBS=gnu_getopt.lib
-.ELIF "$(GUI)$(COM)" == "WNTGCC"
-APP1STDLIBS=-lgnu_getopt
-.ENDIF
-.ENDIF
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-