diff options
author | David Ostrovsky <David.Ostrovsky@gmx.de> | 2012-04-06 01:51:05 +0200 |
---|---|---|
committer | Matúš Kukan <matus.kukan@gmail.com> | 2012-04-13 13:07:50 +0200 |
commit | bed6580ec330fea6bc7ee015adf1baf6298ed3fb (patch) | |
tree | 9cc38eba924866b57c59768e426ce46806ce1a6a /idlc | |
parent | 1830cf752e9abd2bb168e5e978b72038e1c4b263 (diff) |
gbuild conversion: idlc module
Diffstat (limited to 'idlc')
-rw-r--r-- | idlc/CustomTarget_scanner.mk | 39 | ||||
-rw-r--r-- | idlc/Executable_idlc.mk | 75 | ||||
-rw-r--r-- | idlc/Executable_idlcpp.mk | 46 | ||||
-rw-r--r-- | idlc/Makefile | 7 | ||||
-rw-r--r-- | idlc/Module_idlc.mk | 35 | ||||
-rw-r--r-- | idlc/inc/makefile.mk | 39 | ||||
-rw-r--r-- | idlc/prj/build.lst | 4 | ||||
-rw-r--r-- | idlc/prj/d.lst | 7 | ||||
-rw-r--r-- | idlc/prj/makefile.mk | 1 | ||||
-rw-r--r-- | idlc/source/makefile.mk | 124 | ||||
-rw-r--r-- | idlc/source/preproc/makefile.mk | 77 |
11 files changed, 204 insertions, 250 deletions
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 - |