diff options
Diffstat (limited to 'solenv')
-rwxr-xr-x | solenv/bin/build.pl | 21 | ||||
-rw-r--r-- | solenv/bin/callcatcher.Makefile | 31 | ||||
-rw-r--r-- | solenv/gbuild/extensions/post_AuxTargets.mk | 130 | ||||
-rw-r--r-- | solenv/gbuild/extensions/post_BuildplTargets.mk | 50 | ||||
-rw-r--r-- | solenv/gbuild/partial_build.mk | 14 | ||||
-rw-r--r-- | solenv/gbuild/templates/Makefile | 37 |
6 files changed, 80 insertions, 203 deletions
diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl index 240923d56624..9d280d0e6e1a 100755 --- a/solenv/bin/build.pl +++ b/solenv/bin/build.pl @@ -1508,23 +1508,16 @@ sub cancel_build { print STDERR " it seems that the error is inside '$module', please re-run build\n"; print STDERR " inside this module to isolate the error and/or test your fix:\n"; } + print STDERR "\n"; + print STDERR "build_error.log should contain the captured output of the failed module(s)\n"; + print STDERR "\n"; print STDERR "-----------------------------------------------------------------------\n"; + print STDERR "To rebuild a specific module:\n"; print STDERR "\n"; - print STDERR "cd " . $ENV{'SRC_ROOT'} . "\n"; - print STDERR "source ./build_env\n"; - print STDERR "cd $module\n"; - if ($source_config->is_gbuild($module) ) - { - print STDERR "$ENV{GNUMAKE} clean # optional\n"; - print STDERR "$ENV{GNUMAKE} -r\n" - } - else - { - print STDERR "rm -Rf " . $ENV{'SRC_ROOT'} . "/$module/" . $ENV{'INPATH'} . " # optional module 'clean'\n"; - print STDERR "build\n"; - } + print STDERR "make $module.clean #optional\n"; + print STDERR "make $module\n"; print STDERR "\n"; - print STDERR "when the problem is isolated and fixed exit and re-run 'make' from the top-level\n"; + print STDERR "when the problem is isolated and fixed re-run 'make'\n"; zenity_message("LibreOffice Build Failed!"); zenity_close(); diff --git a/solenv/bin/callcatcher.Makefile b/solenv/bin/callcatcher.Makefile new file mode 100644 index 000000000000..c8fe1649b8cd --- /dev/null +++ b/solenv/bin/callcatcher.Makefile @@ -0,0 +1,31 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- + +.PHONY: all + +include config_host_callcatcher.mk + +export CC:=callcatcher $(CC) +export CXX:=callcatcher $(CXX) +ifeq ($(AR),) +export AR:=callarchive ar +else +export AR:=callarchive $(AR) +endif +#old-school ones, can go post-gbuildification is complete +export LINK:=$(CXX) +ifeq ($(LIBMGR),) +export LIBMGR:=callarchive ar +else +export LIBMGR:=callarchive $(LIBMGR) +endif +export dbglevel:=2 + + +all: + cd instsetoo_native && \ + $(SOLARENV)/bin/build.pl -P$(BUILD_NCPUS) --all -- -P$(GMAKE_PARALLELISM) + @callanalyse $(WORKDIR)/LinkTarget/*/* \ + */$(OUTPATH)/bin/* \ + */$(OUTPATH)/lib/* > unusedcode.all + +# vim: set noet sw=4 ts=4: diff --git a/solenv/gbuild/extensions/post_AuxTargets.mk b/solenv/gbuild/extensions/post_AuxTargets.mk deleted file mode 100644 index da5304999363..000000000000 --- a/solenv/gbuild/extensions/post_AuxTargets.mk +++ /dev/null @@ -1,130 +0,0 @@ -# -*- 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) 2011 Bjoern Michaelsen <bjoern.michaelsen@canonical.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. - -.PHONY: id tags docs distro-pack-install install fetch clean-host clean-build bootstrap - -$(WORKDIR)/bootstrap: - @cd $(SRCDIR) && ./bootstrap - @mkdir -p $(dir $@) && touch $@ - -bootstrap: $(WORKDIR)/bootstrap - -autogen.lastrun: - -ifneq ($(gb_SourceEnvAndRecurse_STAGE),buildpl) - -id: - @create-ids - -tags: - @create-tags - -docs: - @mkdocs.sh $(SRCDIR)/docs $(SOLARENV)/inc/doxygen.cfg - -distro-pack-install: install - $(SRCDIR)/bin/distro-install-clean-up - $(SRCDIR)/bin/distro-install-desktop-integration - $(SRCDIR)/bin/distro-install-sdk - $(SRCDIR)/bin/distro-install-file-lists - - -#these need to stay in the buildpl phase as buildpl depends on them -$(SRCDIR)/src.downloaded: - @true - -fetch: - @true - -# fixme: can we prevent these exports in the first place? -$(SRCDIR)/config_host.mk: autogen.lastrun configure.in ooo.lst.in config_host.mk.in - $(if $(filter reconfigure,$(gb_SourceEnvAndRecurse_STAGE)),$(SRCDIR)/autogen.sh,@echo "cannot reconfigure from within solarenv" && rm -f $(SRCDIR)/config.host.mk && exit 2) - - -ifeq ($(strip $(gb_PARTIALBUILD)),) - -clean-host: - rm -rf $(SRCDIR)/*/$(INPATH) - rm -rf install - -clean-build: - if [ -f $(SRCDIR)/dmake/Makefile ] ; then $(GNUMAKE) -C $(SRCDIR)/dmake clean; fi - rm -f solenv/*/bin/dmake* - $(if $(filter-out $(INPATH),$(INPATH_FOR_BUILD)),rm -rf $(SRCDIR)/*/$(INPATH_FOR_BUILD)) - -distclean: clean - if [ -f $(SRCDIR)/dmake/Makefile ] ; then $(GNUMAKE) -C $(SRCDIR)/dmake clean; fi - cd $(SRCDIR) && rm -rf config_host.mk config_build.mk Env.Host.sh Env.Build.sh autogen.lastrun autom4te.cache \ - bin/repo-list build_env config.log config.status \ - desktop/scripts/soffice.sh ooo.lst post_download post_download.log \ - set_soenv set_soenv.last set_soenv.stamp src.downloaded warn - -install: build - echo "Installing in $(INSTALLDIR)..." && \ - ooinstall "$(INSTALLDIR)" && \ - echo "" && \ - echo "Installation finished, you can now execute:" && \ - echo "$(INSTALLDIR)/program/soffice" - -endif - -else -$(SRCDIR)/src.downloaded: $(SRCDIR)/ooo.lst $(SRCDIR)/download - $(if $(filter YES,$(DO_FETCH_TARBALLS)),cd $(SRCDIR) && ./download ./ooo.lst && touch $@,touch $@) - -fetch: $(SRCDIR)/src.downloaded - -id: - @true - -tags: - @true - -docs: - @true - -distro-pack-install: - @true - -$(SRCDIR)/config_host.mk: - @true - -clean-host: - @true - -clean-build: - @true - -distclean: - @true - -install: - @true - -endif - -# vim:set shiftwidth=4 softtabstop=4 noexpandtab: diff --git a/solenv/gbuild/extensions/post_BuildplTargets.mk b/solenv/gbuild/extensions/post_BuildplTargets.mk index 5c6b3270dc23..6b3741b1ca67 100644 --- a/solenv/gbuild/extensions/post_BuildplTargets.mk +++ b/solenv/gbuild/extensions/post_BuildplTargets.mk @@ -113,29 +113,29 @@ dev-install: \ $(if $(filter check,$(MAKECMDGOALS)),build) $(call gb_BuildplTarget_command,smoketestoo_native,) -build: $(WORKDIR)/bootstrap $(SRCDIR)/src.downloaded $(if $(filter $(INPATH),$(INPATH_FOR_BUILD)),,cross_toolset) - $(call gb_BuildplTarget_command,instsetoo_native,--all) +#build: $(WORKDIR)/bootstrap $(SRCDIR)/src.downloaded $(if $(filter $(INPATH),$(INPATH_FOR_BUILD)),,cross_toolset) +# $(call gb_BuildplTarget_command,instsetoo_native,--all) -cross_toolset: $(WORKDIR)/bootstrap $(SRCDIR)/src.downloaded - source $(SRCDIR)/config_build.mk && $(call gb_BuildplTarget_command,$@,--all) +#cross_toolset: $(WORKDIR)/bootstrap $(SRCDIR)/src.downloaded +# source $(SRCDIR)/config_build.mk && $(call gb_BuildplTarget_command,$@,--all) # experimental callcatcher target # http://www.skynet.ie/~caolan/Packages/callcatcher.html -findunusedcode: - @which callcatcher > /dev/null 2>&1 || \ - (echo "callcatcher not installed" && false) - @sed -e s,$(INPATH),callcatcher,g $(SRCDIR)/config_host.mk > $(SRCDIR)/config_host_callcatcher.mk - @mkdir -p $(SRCDIR)/solenv/callcatcher/bin && \ - ln -sf $(SRCDIR)/solenv/$(INPATH)/bin/dmake \ - $(SRCDIR)/solenv/callcatcher/bin/dmake && \ - source $(SRCDIR)/config_host_callcatcher.mk && \ - source $(SRCDIR)/solenv/bin/callcatchEnv.Set.sh && \ - $(call gb_BuildplTarget_command,instsetoo_native,--all) - @source $(SRCDIR)/config_host_callcatcher.mk && \ - callanalyse \ - $$WORKDIR/LinkTarget/*/* \ - */$$OUTPATH/bin/* \ - */$$OUTPATH/lib/* > unusedcode.all +#findunusedcode: +# @which callcatcher > /dev/null 2>&1 || \ +# (echo "callcatcher not installed" && false) +# @sed -e s,$(INPATH),callcatcher,g $(SRCDIR)/config_host.mk > $(SRCDIR)/config_host_callcatcher.mk +# @mkdir -p $(SRCDIR)/solenv/callcatcher/bin && \ +# ln -sf $(SRCDIR)/solenv/$(INPATH)/bin/dmake \ +# $(SRCDIR)/solenv/callcatcher/bin/dmake && \ +# source $(SRCDIR)/config_host_callcatcher.mk && \ +# source $(SRCDIR)/solenv/bin/callcatchEnv.Set.sh && \ +# $(call gb_BuildplTarget_command,instsetoo_native,--all) +# @source $(SRCDIR)/config_host_callcatcher.mk && \ +# callanalyse \ +# $$WORKDIR/LinkTarget/*/* \ +# */$$OUTPATH/bin/* \ +# */$$OUTPATH/lib/* > unusedcode.all #because non-c++ symbols could be dlsymed lets make a list of class level #unused methods which don't require much effort to determine if they need #to be just removed, or put behind appropiate platform or debug level ifdefs @@ -148,12 +148,12 @@ findunusedcode: # #filter out Atom*:: from libcmis, because its too painful to customize #it to only build the methods we directly call - @grep ::.*\( unusedcode.all \ - | grep -v ^cppu:: \ - | grep -v ^boost:: \ - | grep -v ^CIcc \ - | grep -v ^Atom \ - > unusedcode.easy +# @grep ::.*\( unusedcode.all \ +# | grep -v ^cppu:: \ +# | grep -v ^boost:: \ +# | grep -v ^CIcc \ +# | grep -v ^Atom \ +# > unusedcode.easy subsequentcheck: dev-install diff --git a/solenv/gbuild/partial_build.mk b/solenv/gbuild/partial_build.mk new file mode 100644 index 000000000000..808917b937d1 --- /dev/null +++ b/solenv/gbuild/partial_build.mk @@ -0,0 +1,14 @@ + +gb_PARTIALBUILD := T + +ifeq ($(SOLARENV),) +ifeq ($(gb_Side),) +gb_Side:=host +endif +include $(module_directory)/../config_$(gb_Side).mk +endif + +gb_SourceEnvAndRecurse_STAGE=gbuild +include $(SOLARENV)/gbuild/gbuild.mk + +$(eval $(call gb_Module_make_global_targets,$(shell ls $(module_directory)/Module*.mk))) diff --git a/solenv/gbuild/templates/Makefile b/solenv/gbuild/templates/Makefile index f9ac01ef0747..841c9b4b7ad4 100644 --- a/solenv/gbuild/templates/Makefile +++ b/solenv/gbuild/templates/Makefile @@ -1,39 +1,8 @@ # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -#************************************************************************* -# -# 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. -# -#************************************************************************* -ifeq ($(strip $(SOLARENV)),) -include $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/../solenv/gbuild/source_and_rerun.mk -else +module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) -gb_PARTIALBUILD := T -include $(SOLARENV)/gbuild/gbuild.mk +include $(module_directory)/../solenv/gbuild/partial_build.mk -$(eval $(call gb_Module_make_global_targets,$(shell ls $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/Module*.mk))) - -endif # vim: set noet sw=4 ts=4: + |