summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
Diffstat (limited to 'solenv')
-rwxr-xr-xsolenv/bin/build.pl21
-rw-r--r--solenv/bin/callcatcher.Makefile31
-rw-r--r--solenv/gbuild/extensions/post_AuxTargets.mk130
-rw-r--r--solenv/gbuild/extensions/post_BuildplTargets.mk50
-rw-r--r--solenv/gbuild/partial_build.mk14
-rw-r--r--solenv/gbuild/templates/Makefile37
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:
+