From: Chris Koeritz Date: Tue, 7 Feb 2012 02:35:41 +0000 (-0500) Subject: updated to fix issues with building outside of bootstrap. X-Git-Tag: 2.140.90~1636 X-Git-Url: https://feistymeow.org/gitweb/?p=feisty_meow.git;a=commitdiff_plain;h=26cc4f3ade8271bd0941c587d4ac21219bac2542 updated to fix issues with building outside of bootstrap. --- diff --git a/database/fortunes.dat b/database/fortunes.dat index 5b2444ed..f1b609d0 100644 --- a/database/fortunes.dat +++ b/database/fortunes.dat @@ -37429,3 +37429,22 @@ them before, and my "cornholio sense" is not tingling (a power I got from being bitten by a radioactive asshole), so I don't think they were jerks when I used them last time. -- fred t. hamster +~ + External circumstances are not what draw us into suffering. Suffering is +caused and permitted by an untamed mind. The appearance of self-defeating +emotions in our minds leads us to faulty actions. The naturally pure mind is +covered over by these emotions and troubling conceptions. The force of their +deceit pushes us into faulty actions, which leads inevitably to suffering. + We need, with great awareness and care, to extinguish these problematic +attitudes, the way gathering clouds dissolve back into the sphere of the sky. +When our self-defeating attitudes, emotions, and conceptions cease, so will +the harmful actions arising from them. + As the great Tibetan yogi Milarepa says, "When arising, arising within space +itself; when dissolving, dissolving back into space." We need to become +familiar with the state of our own minds to understand how to dissolve ill- +founded ideas and impulses back into the deeper sphere of reality. The sky +was there before the clouds gathered, and it will be after they have gone. It +is also present when the clouds seem to cover every inch of the sky we can +see.(p.22) + -- H.H. the Dalai Lama, "How to Expand Love: Widening the Circle of Loving + Relationships", translated and edited by Jeffrey Hopkins diff --git a/nucleus/makefile b/nucleus/makefile index 2334be05..5e5c392a 100644 --- a/nucleus/makefile +++ b/nucleus/makefile @@ -1,7 +1,56 @@ +# Top-level makefile for library, application and test components. + include variables.def -PROJECT = core_modules -BUILD_BEFORE = library applications tools +# Set default locations for the following variables. If the build_variables +# have been sourced in, that takes care of setting these. +ifeq "$(FEISTY_MEOW_DIR)" "" + export FEISTY_MEOW_DIR := $(CURRENT_DIR) +endif +ifeq "$(PRODUCTION_DIR)" "" + export PRODUCTION_DIR = $(FEISTY_MEOW_DIR)/production +endif +ifeq "$(CLAM_DIR)" "" + export CLAM_DIR = $(FEISTY_MEOW_SCRIPTS)/clam +endif + +include $(CLAM_DIR)/cpp/variables.def + +PROJECT = feisty_meow_nucleus +TYPE = hierarchy +FIRST_TARGETS = do_make +BUILD_AFTER = library applications tools + +include $(CLAM_DIR)/cpp/rules.def + +do_make: start_make $(PRODUCTION_DIR)/binaries/manifest.txt end_make + +start_make: show_date.start + +end_make: show_date.end -include rules.def +$(PRODUCTION_DIR)/binaries/manifest.txt: $(PARAMETER_FILE) + $(HIDESH) -c '\ +if [ ! -d "$(EXECUTABLE_DIR)" ]; then mkdir -p "$(EXECUTABLE_DIR)"; fi; \ +if [ $$? -ne 0 ]; then \ + echo build failure while creating executable directory.; \ + exit 1; \ +fi; \ +cp -f "$(PRODUCTION_DIR)/paths.ini" "$(EXECUTABLE_DIR)"; \ +if [ $$? -ne 0 ]; then \ + echo build failure while copying paths initialization file.; \ + exit 1; \ +fi; \ +echo cmd is: $(CLAM_BIN)/value_tagger$(EXE_END) $(PRODUCTION_DIR)/codescan.ini; \ +$(CLAM_BIN)/value_tagger$(EXE_END) $(PRODUCTION_DIR)/codescan.ini; \ +if [ $$? -ne 0 ]; then \ + echo build failure during value tagging.; \ + exit 1; \ +fi; \ +$(CLAM_BIN)/write_build_config$(EXE_END); \ +if [ $$? -ne 0 ]; then \ + echo build failure while writing config.; \ + exit 1; \ +fi; \ + ' diff --git a/production/codescan.ini b/production/codescan.ini index 960395b1..295e0a93 100644 --- a/production/codescan.ini +++ b/production/codescan.ini @@ -1,5 +1,5 @@ [manifest] -output=$BUILD_TOP/binaries/manifest.txt +output=$BUILD_TOP/production/binaries/manifest.txt [searches] DEFINE_OUTCOME=1 diff --git a/scripts/clam/cpp/get_version.sh b/scripts/clam/cpp/get_version.sh index f1a8df50..50b9c70b 100755 --- a/scripts/clam/cpp/get_version.sh +++ b/scripts/clam/cpp/get_version.sh @@ -8,11 +8,14 @@ if [ "$COMPILER" = "GNU_LINUX" \ # older code is needed for some versions of gcc / suse. ver_found=$(gcc -### 2>&1 | grep "gcc version" | sed -e 's/^gcc version \([0-9.][0-9.]*\) .*$/\1/') - if [ ! -d "/usr/include/c++/$ver_found" ]; then - # newest code takes only first two version numbers, since that's how - # suse 11.0 at least is listing the includes. - ver_found=$(gcc -### 2>&1 | grep "gcc version" | sed -e 's/^gcc version \([0-9.][0-9.]*\) .*$/\1/' | sed -e 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1.\2/') - fi +# if [ ! -d "/usr/include/c++/$ver_found" ]; then +# -a ! -d "/usr/include/c++/$ver_found" ]; then + +# # newest code takes only first two version numbers, since that's how +# # suse 11.0 at least is listing the includes. +# ver_found=$(gcc -### 2>&1 | grep "gcc version" | sed -e 's/^gcc version \([0-9.][0-9.]*\) .*$/\1/' | sed -e 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1.\2/') + +# fi echo "$ver_found" diff --git a/scripts/clam/cpp/rules.def b/scripts/clam/cpp/rules.def index d7fa4b2e..02d3010c 100644 --- a/scripts/clam/cpp/rules.def +++ b/scripts/clam/cpp/rules.def @@ -691,7 +691,6 @@ else -$(HIDESH)$(CLAM_DIR)/cpp/preconditions.sh @touch $@ # @echo dep adds: $(DEPENDENCY_ADDITIONS) - @echo clam bin here is $(CLAM_BIN) @$(CLAM_BIN)/makedep$(EXE_END) $(DEPENDENCY_DEFINITIONS:%=-D%) $(DEPENDENCY_ADDITIONS) -f$@ -o.obj -p$(OBJECT_DIR)/ -w 420 $(COMPILER_HEADER_DIR:%=-X%) $(THIRD_PARTY_DIR:%=-X%) -- $(COMPILER_FLAGS) $(SOURCE) $(EXE_CPPS) # $(CATCHER)$(CLAM_BIN)/makedep$(EXE_END) $(DEPENDENCY_DEFINITIONS:%=-D%) $(DEPENDENCY_ADDITIONS) -f$@ -o.obj -p$(OBJECT_DIR)/ -w 420 $(COMPILER_HEADER_DIR:%=-X%) $(THIRD_PARTY_DIR:%=-X%) -- $(COMPILER_FLAGS) $(SOURCE) $(EXE_CPPS) @echo $@ >$(SUBMAKE_FLAG) diff --git a/scripts/clam/cpp/variables.def b/scripts/clam/cpp/variables.def index 56073eec..4a36911b 100644 --- a/scripts/clam/cpp/variables.def +++ b/scripts/clam/cpp/variables.def @@ -11,7 +11,7 @@ ifneq "$(BUILD_PARAMETER_FILE)" "" endif ifeq "$(PARAMETER_FILE)" "" # last ditch attempt to get one that will work. - export PARAMETER_FILE = $(FEISTY_MEOW_DIR)/build.ini + export PARAMETER_FILE = $(PRODUCTION_DIR)/build.ini endif ############################################################################### @@ -463,10 +463,7 @@ ifeq "$(COMPILER)" "GNU_LINUX" DEFINITIONS += _FILE_OFFSET_BITS=64 DEPENDENCY_DEFINITIONS += NO_VERSION - DEPENDENCY_ADDITIONS = -X/usr/include -X/usr/include/c++/$(COMPILER_VERSION) -X/usr/include/c++/$(COMPILER_VERSION)/tr1 -X/usr/local/include -X/usr/include/linux -X/usr/include/wx-2.8 -X/usr/lib/gcc/i586-suse-linux/$(COMPILER_VERSION)/include -X/usr/lib/gcc/i486-linux-gnu/$(COMPILER_VERSION)/include -X/usr/lib/gcc/i686-linux-gnu/$(COMPILER_VERSION)/include - -#protect other additions to make them only for debian? -# COMPILER_HEADER_DIR := /usr/include /usr/local/include + DEPENDENCY_ADDITIONS = -X/usr/include -X/usr/include/c++/$(COMPILER_VERSION) -X/usr/include/c++/$(COMPILER_VERSION)/tr1 -X/usr/local/include -X/usr/include/linux -X/usr/include/wx-2.8 -X/usr/lib/gcc/i586-suse-linux/$(COMPILER_VERSION)/include -X/usr/lib/gcc/i486-linux-gnu/$(COMPILER_VERSION)/include -X/usr/lib/gcc/i686-linux-gnu/$(COMPILER_VERSION)/include -X/usr/lib/gcc/x86_64-linux-gnu/$(COMPILER_VERION)/include -X/usr/include/x86_64-linux-gnu # "USE_XWIN" specifies that this project needs X window system support. #USE_XWIN = diff --git a/scripts/clam/variables.def b/scripts/clam/variables.def index 0157bec8..8897d2c3 100644 --- a/scripts/clam/variables.def +++ b/scripts/clam/variables.def @@ -69,14 +69,30 @@ export FEISTY_MEOW_DIR ifeq "$(FEISTY_MEOW_DIR)" "" # FEISTY_MEOW_DIR = #uhhh, use the current location? +#currently we rely on this being set from shell bootstrapping. is that bad? +endif + +# "FEISTY_MEOW_SCRIPTS" is the root location of our scripts. we expect to +# be able to find a few things there reliably. +export FEISTY_MEOW_SCRIPTS +ifeq "$(FEISTY_MEOW_SCRIPTS)" "" + export FEISTY_MEOW_SCRIPTS := $(FEISTY_MEOW_DIR)/scripts +endif + +# "PRODUCTION_DIR" is where the built products will be stored, plus any +# temporary files that are generated during the build. +export PRODUCTION_DIR +ifeq "$(PRODUCTION_DIR)" "" + PRODUCTION_DIR=$(FEISTY_MEOW_DIR)/production endif # "CLAM_DIR" points at where the CLAM source files are located. this is needed # for finding shell scripts used during compilation. if you are not using the # standard CLAM location, then modify this appropriately. export CLAM_DIR -# must be set externally! -#export CLAM_DIR := $(FEISTY_MEOW_SCRIPTS)/clam +ifeq "$(CLAM_DIR)" "" + export CLAM_DIR := $(FEISTY_MEOW_SCRIPTS)/clam +endif # "TARGETS_DIR" is where all generated files will end up. Usually the # files are put in a subdirectory named after their file type, such as diff --git a/scripts/generator/build_variables.sh b/scripts/generator/build_variables.sh index f4fe4d92..57177009 100644 --- a/scripts/generator/build_variables.sh +++ b/scripts/generator/build_variables.sh @@ -1,36 +1,36 @@ -############################################################################### -# # -# Name : build variable calculator # -# Author : Chris Koeritz # -# # -# Purpose: # -# # -# This script sets up all the variables needed by the HOOPLE system for # -# building the source code. It can either be run as a bash script directly # -# like so: # -# # -# bash ~/feisty_meow/scripts/generator/build_variables.sh # -# # -# which will establish a new shell containing all the variables, or you can # -# 'source' the script like so: # -# # -# build_vars=~/feisty_meow/scripts/generator/build_variables.sh # -# source $build_vars $build_vars # -# # -# to set all of the variables in your current shell. The full path is # -# necessary in these commands to allow the script to easily find itself. # -# The 'source' version needs to be fed the actual path to the script # -# because bash 'source' commands cause the first parameter (called $0) to # -# be set to just the path to bash itself. # -# # -############################################################################### -# Copyright (c) 2004-$now By Author. This program is free software; you can # -# redistribute it and/or modify it under the terms of the GNU General Public # -# License as published by the Free Software Foundation; either version 2 of # -# the License or (at your option) any later version. This is online at: # -# http://www.fsf.org/copyleft/gpl.html # -# Please send any updates to: fred@gruntose.com # -############################################################################### +############## +# +# Name : build variable calculator +# Author : Chris Koeritz +# +# Purpose: +# +# This script sets up all the variables needed by the HOOPLE system for +# building the source code. It can either be run as a bash script directly +# like so: +# +# bash ~/feisty_meow/scripts/generator/build_variables.sh +# +# which will establish a new shell containing all the variables, or you can +# 'source' the script like so: +# +# build_vars=~/feisty_meow/scripts/generator/build_variables.sh +# source $build_vars $build_vars +# +# to set all of the variables in your current shell. The full path is +# necessary in these commands to allow the script to easily find itself. +# The 'source' version needs to be fed the actual path to the script +# because bash 'source' commands cause the first parameter (called $0) to +# be set to just the path to bash itself. +# +############## +# Copyright (c) 2004-$now By Author. This program is free software; you can +# redistribute it and/or modify it under the terms of the GNU General Public +# License as published by the Free Software Foundation; either version 2 of +# the License or (at your option) any later version. This is online at: +# http://www.fsf.org/copyleft/gpl.html +# Please send any updates to: fred@gruntose.com +############## # prerequisites for this script: # @@ -69,11 +69,11 @@ function dos_to_msys_path() { # of dos to msys etc live. # test suite for above functions. #echo this should go from msys to dos: -# prior='/c/bogart\dingle' +# prior='/c/bogart\dongle' # latter=$(msys_to_dos_path "$prior") # echo went from $prior to $latter #echo this should go from dos to msys: -# prior='D:\bogart\dingle' +# prior='D:\bogart\dongle' # latter=$(dos_to_msys_path "$prior") # echo went from $prior to $latter @@ -91,12 +91,13 @@ else THIS_TOOL_NAME="$(basename "$PARM_0")" #echo bashed version buildscriptsdir is $BUILD_SCRIPTS_DIR fi -BUILD_SCRIPTS_DIR="$(echo $BUILD_SCRIPTS_DIR | tr '\\\\' '/' )" -#echo post tr buildscriptsdir is $BUILD_SCRIPTS_DIR +BUILD_SCRIPTS_DIR="$(cd $(echo $BUILD_SCRIPTS_DIR | tr '\\\\' '/' ); \pwd)" +#echo ">> buildscriptsdir is $BUILD_SCRIPTS_DIR" # figure out the other paths based on where we found this script. export BUILDING_HIERARCHY="$(echo "$BUILD_SCRIPTS_DIR" | sed -e 's/\(.*\)\/[^\/]*/\1/')" -export CLAM_DIR="$BUILD_SCRIPTS_DIR/../clam" +export CLAM_DIR="$(cd $BUILD_SCRIPTS_DIR/../clam ; \pwd)" +#echo ">> clamdir is $CLAM_DIR" # synonym to make other builds happy. export BUILDER_DIR="$BUILDING_HIERARCHY"