Makefile | 2 Repository.mk | 5 + RepositoryModule_ooo.mk | 1 idlc/CustomTarget_scanner.mk | 39 ++++++++++++ idlc/Executable_idlc.mk | 75 ++++++++++++++++++++++++ idlc/Executable_idlcpp.mk | 46 ++++++++++++++ idlc/Makefile | 7 ++ idlc/Module_idlc.mk | 35 +++++++++++ idlc/inc/makefile.mk | 39 ------------ idlc/prj/build.lst | 4 - idlc/prj/d.lst | 7 -- idlc/prj/makefile.mk | 1 idlc/source/makefile.mk | 124 ---------------------------------------- idlc/source/preproc/eval.c | 24 +++---- idlc/source/preproc/makefile.mk | 77 ------------------------ 15 files changed, 223 insertions(+), 263 deletions(-)
New commits: commit 99b04ed2be3023bec874fce529d453123f48ac99 Author: David Ostrovsky <david.ostrov...@gmx.de> Date: Fri Apr 13 13:13:42 2012 +0200 WaE: declaration of 'rand' shadows a global declaration diff --git a/idlc/source/preproc/eval.c b/idlc/source/preproc/eval.c index 9a1a620..41cc2e3 100644 --- a/idlc/source/preproc/eval.c +++ b/idlc/source/preproc/eval.c @@ -262,7 +262,7 @@ long { Token *tp; Nlist *np; - int ntok, rand; + int ntok, local_rand; trp->tp++; if (kw == KIFDEF || kw == KIFNDEF) @@ -283,7 +283,7 @@ long vp = vals; op = ops; *op++ = END; - for (rand = 0, tp = trp->bp + ntok; tp < trp->lp; tp++) + for (local_rand = 0, tp = trp->bp + ntok; tp < trp->lp; tp++) { switch (tp->type) { @@ -298,17 +298,17 @@ long case NUMBER: case CCON: case STRING: - if (rand) + if (local_rand) goto syntax; *vp++ = tokval(tp); - rand = 1; + local_rand = 1; continue; /* unary */ case DEFINED: case TILDE: case NOT: - if (rand) + if (local_rand) goto syntax; *op++ = tp->type; continue; @@ -318,7 +318,7 @@ long case MINUS: case STAR: case AND: - if (rand == 0) + if (local_rand == 0) { if (tp->type == MINUS) *op++ = UMINUS; @@ -349,22 +349,22 @@ long case QUEST: case COLON: case COMMA: - if (rand == 0) + if (local_rand == 0) goto syntax; if (evalop(priority[tp->type]) != 0) return 0; *op++ = tp->type; - rand = 0; + local_rand = 0; continue; case LP: - if (rand) + if (local_rand) goto syntax; *op++ = LP; continue; case RP: - if (!rand) + if (!local_rand) goto syntax; if (evalop(priority[RP]) != 0) return 0; @@ -382,7 +382,7 @@ long if (np && (np->val == KMACHINE)) { tp++; - if (rand) + if (local_rand) goto syntax; *op++ = ARCHITECTURE; continue; @@ -395,7 +395,7 @@ long return 0; } } - if (rand == 0) + if (local_rand == 0) goto syntax; if (evalop(priority[END]) != 0) return 0; commit bed6580ec330fea6bc7ee015adf1baf6298ed3fb Author: David Ostrovsky <david.ostrov...@gmx.de> Date: Fri Apr 6 01:51:05 2012 +0200 gbuild conversion: idlc module diff --git a/Makefile b/Makefile index 865a324..338e620 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 1a3851e..2bf19b6 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 a79028c..ea5d5ab 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 0000000..e7e3c2f --- /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.ostrov...@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 0000000..7e19722 --- /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.ostrov...@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 0000000..67805f3 --- /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.ostrov...@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 0000000..ccb1c85 --- /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 0000000..3c96310 --- /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.ostrov...@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 07d7afa..0000000 --- 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 84f2ee1..9a8fb13 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 8f617ce..e69de29 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 0000000..0997622 --- /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 0f4232f..0000000 --- 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 721a5cd..0000000 --- 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 - _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits