ENH: collect arch-specific directly under platforms/

- platforms/WM_OPTIONS/lib
      old: lib/WM_OPTIONS

- platforms/WM_OPTIONS/bin
      old: bin/WM_OPTIONS
      old: applications/bin/WM_OPTIONS

A runtime environment nows needs
    - bin/
    - etc/
    - platforms/
This commit is contained in:
Mark Olesen
2011-01-05 08:49:42 +01:00
parent 5e12506f8e
commit 5d18583101
9 changed files with 82 additions and 59 deletions

View File

@ -1 +1 @@
EXE_LIBS = $(LIB_WM_OPTIONS_DIR)/libfbsdmalloc.o EXE_LIBS = $(FOAM_EXT_LIBBIN)/libfbsdmalloc.o

View File

@ -73,13 +73,10 @@ do
done done
# check for essential directories # check for essential directories
for dir in $packDir [ -d $packDir ] || {
do echo "Error: directory $packDir does not exist" 1>&2
[ -d $dir ] || {
echo "Error: directory $dir does not exist" 1>&2
exit 1 exit 1
} }
done
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -57,10 +57,29 @@ esac
} }
# obtain archOptions types from lib/ if [ -d $packDir/lib ]
then
# obtain archOptions types from lib/<archOptions>
for archOptions in $packDir/lib/* for archOptions in $packDir/lib/*
do do
$binDir/$packBin $@ ${archOptions##*/} $binDir/$packBin $@ ${archOptions##*/}
done done
elif [ -d $packDir/platforms ]
# obtain archOptions types from platforms/<archOptions>/lib
for archOptions in $packDir/platforms/*/lib
do
archOptions=${archOptions%%/lib}
$binDir/$packBin $@ ${archOptions##*/}
done
else
echo "Error: directory $packDir does not appear packable" 1>&2
exit 1
fi
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -72,13 +72,10 @@ do
done done
# check for essential directories # check for essential directories
for dir in $packDir [ -d $packDir ] || {
do echo "Error: directory $packDir does not exist" 1>&2
[ -d $dir ] || {
echo "Error: directory $dir does not exist" 1>&2
exit 1 exit 1
} }
done
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------

View File

@ -67,19 +67,35 @@ arch3264=$(echo "$archOS" | sed -e 's@64@-64@')
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# check for essential directories # check for essential directories
for dir in $packDir $packDir/lib/$archOptions [ -d $packDir ] || {
do echo "Error: directory $packDir does not exist" 1>&2
[ -d $dir ] || {
echo "Error: directory $dir does not exist" 1>&2
exit 1 exit 1
} }
done
# check new/old places for executables - same as $FOAM_APPBIN
[ -d $packDir/bin/$archOptions -o -d $packDir/applications/bin/$archOptions ] || { #
# check places for libraries - same as $FOAM_LIBBIN
# this has moved around a bit in the recent past
#
[ -d $packDir/lib/$archOptions ] || \
[ -d $packDir/platforms/$archOptions/lib ] || {
cat <<LIB_CHECK 1>&2
Error: no directory for libraries exists:
$packDir/lib/$archOptions
$packDir/platforms/$archOptions/lib
LIB_CHECK
exit 1
}
#
# check places for executables - same as $FOAM_APPBIN
# this has moved around a bit in the recent past
#
[ -d $packDir/applications/bin/$archOptions ] || \
[ -d $packDir/platforms/$archOptions/bin ] || {
cat <<BIN_CHECK 1>&2 cat <<BIN_CHECK 1>&2
Error: no directory for executables exists: Error: no directory for executables exists:
$packDir/bin/$archOptions $packDir/platforms/$archOptions/bin
$packDir/applications/bin/$archOptions $packDir/applications/bin/$archOptions
BIN_CHECK BIN_CHECK
exit 1 exit 1
@ -90,14 +106,15 @@ BIN_CHECK
# list of directories # list of directories
dirList=$( dirList=$(
for dir in \ for dir in \
$packDir/bin/$archOptions \ $packDir/platforms/$archOptions/bin \
$packDir/lib/$archOptions \ $packDir/platforms/$archOptions/lib \
$packDir/applications/bin/$archOptions \
$packDir/wmake/bin/$archCompiler \ $packDir/wmake/bin/$archCompiler \
$packDir/wmake/bin/$archOS \ $packDir/wmake/bin/$archOS \
$packDir/wmake/rules/General \ $packDir/wmake/rules/General \
$packDir/wmake/rules/$archCompiler \ $packDir/wmake/rules/$archCompiler \
$packDir/wmake/rules/$archOS \ $packDir/wmake/rules/$archOS \
$packDir/applications/bin/$archOptions \
$packDir/lib/$archOptions \
; ;
do do
[ -d $dir ] && echo $dir [ -d $dir ] && echo $dir

View File

@ -66,7 +66,7 @@ arch3264=$(echo "$archOS" | sed -e 's@64@-64@')
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# check for essential directories # check for essential directories
for dir in $packDir $packDir/lib/$archOptions for dir in $packDir $packDir/platforms/$archOptions/lib
do do
[ -d $dir ] || { [ -d $dir ] || {
echo "Error: directory $dir does not exist" 1>&2 echo "Error: directory $dir does not exist" 1>&2
@ -78,12 +78,6 @@ done
# list of directories # list of directories
dirList=$( dirList=$(
for dir in \ for dir in \
$packDir/bin/$archOptions \
$packDir/bin/$archCompiler \
$packDir/bin/$archOS \
$packDir/lib/$archOptions \
$packDir/lib/$archCompiler \
$packDir/lib/$archOS \
$packDir/platforms/$archOptions \ $packDir/platforms/$archOptions \
$packDir/platforms/$archCompiler \ $packDir/platforms/$archCompiler \
$packDir/platforms/$archOS \ $packDir/platforms/$archOS \

View File

@ -48,20 +48,20 @@ setenv WM_LINK_LANGUAGE c++
setenv WM_OPTIONS $WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION setenv WM_OPTIONS $WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION
# base executables/libraries # base executables/libraries
setenv FOAM_APPBIN $WM_PROJECT_DIR/bin/$WM_OPTIONS setenv FOAM_APPBIN $WM_PROJECT_DIR/platforms/$WM_OPTIONS/bin
setenv FOAM_LIBBIN $WM_PROJECT_DIR/lib/$WM_OPTIONS setenv FOAM_LIBBIN $WM_PROJECT_DIR/platforms/$WM_OPTIONS/lib
# external (ThirdParty) libraries # external (ThirdParty) libraries
setenv FOAM_EXT_LIBBIN $WM_THIRD_PARTY_DIR/lib/$WM_OPTIONS setenv FOAM_EXT_LIBBIN $WM_THIRD_PARTY_DIR/platforms/$WM_OPTIONS/lib
# shared site executables/libraries # shared site executables/libraries
# similar naming convention as ~OpenFOAM expansion # similar naming convention as ~OpenFOAM expansion
setenv FOAM_SITE_APPBIN $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/bin/$WM_OPTIONS setenv FOAM_SITE_APPBIN $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/platforms/$WM_OPTIONS/bin
setenv FOAM_SITE_LIBBIN $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/lib/$WM_OPTIONS setenv FOAM_SITE_LIBBIN $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/platforms/$WM_OPTIONS/lib
# user executables/libraries # user executables/libraries
setenv FOAM_USER_APPBIN $WM_PROJECT_USER_DIR/bin/$WM_OPTIONS setenv FOAM_USER_APPBIN $WM_PROJECT_USER_DIR/platforms/$WM_OPTIONS/bin
setenv FOAM_USER_LIBBIN $WM_PROJECT_USER_DIR/lib/$WM_OPTIONS setenv FOAM_USER_LIBBIN $WM_PROJECT_USER_DIR/platforms/$WM_OPTIONS/lib
# convenience # convenience
setenv FOAM_APP $WM_PROJECT_DIR/applications setenv FOAM_APP $WM_PROJECT_DIR/applications

View File

@ -71,20 +71,20 @@ export WM_LINK_LANGUAGE=c++
export WM_OPTIONS=$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION export WM_OPTIONS=$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION
# base executables/libraries # base executables/libraries
export FOAM_APPBIN=$WM_PROJECT_DIR/bin/$WM_OPTIONS export FOAM_APPBIN=$WM_PROJECT_DIR/platforms/$WM_OPTIONS/bin
export FOAM_LIBBIN=$WM_PROJECT_DIR/lib/$WM_OPTIONS export FOAM_LIBBIN=$WM_PROJECT_DIR/platforms/$WM_OPTIONS/lib
# external (ThirdParty) libraries # external (ThirdParty) libraries
export FOAM_EXT_LIBBIN=$WM_THIRD_PARTY_DIR/lib/$WM_OPTIONS export FOAM_EXT_LIBBIN=$WM_THIRD_PARTY_DIR/platforms/$WM_OPTIONS/lib
# shared site executables/libraries # shared site executables/libraries
# similar naming convention as ~OpenFOAM expansion # similar naming convention as ~OpenFOAM expansion
export FOAM_SITE_APPBIN=$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/bin/$WM_OPTIONS export FOAM_SITE_APPBIN=$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/platforms/$WM_OPTIONS/bin
export FOAM_SITE_LIBBIN=$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/lib/$WM_OPTIONS export FOAM_SITE_LIBBIN=$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/platforms/$WM_OPTIONS/lib
# user executables/libraries # user executables/libraries
export FOAM_USER_APPBIN=$WM_PROJECT_USER_DIR/bin/$WM_OPTIONS export FOAM_USER_APPBIN=$WM_PROJECT_USER_DIR/platforms/$WM_OPTIONS/bin
export FOAM_USER_LIBBIN=$WM_PROJECT_USER_DIR/lib/$WM_OPTIONS export FOAM_USER_LIBBIN=$WM_PROJECT_USER_DIR/platforms/$WM_OPTIONS/lib
# convenience # convenience
export FOAM_APP=$WM_PROJECT_DIR/applications export FOAM_APP=$WM_PROJECT_DIR/applications

View File

@ -2,7 +2,7 @@
# ========= | # ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration | # \\ / O peration |
# \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. # \\ / A nd | Copyright (C) 1991-2011 OpenCFD Ltd.
# \\/ M anipulation | # \\/ M anipulation |
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# License # License
@ -56,8 +56,7 @@ WM_SCRIPTS = $(WM_DIR)/scripts
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
LIB_SRC = $(WM_PROJECT_DIR)/src LIB_SRC = $(WM_PROJECT_DIR)/src
LIB_DIR = $(WM_PROJECT_DIR)/lib LIB_PLATFORMS = $(WM_PROJECT_DIR)/platforms/$(WM_OPTIONS)/lib
LIB_WM_OPTIONS_DIR = $(LIB_DIR)/$(WM_OPTIONS)
OBJECTS_DIR = $(MAKE_DIR)/$(WM_OPTIONS) OBJECTS_DIR = $(MAKE_DIR)/$(WM_OPTIONS)
CLASSES_DIR = $(MAKE_DIR)/classes CLASSES_DIR = $(MAKE_DIR)/classes
@ -148,7 +147,7 @@ LIB_HEADER_DIRS = \
$(EXE): $(OBJECTS) $(EXE): $(OBJECTS)
@$(WM_SCRIPTS)/makeTargetDir $(EXE) @$(WM_SCRIPTS)/makeTargetDir $(EXE)
$(LINKEXE) $(OBJECTS) -L$(LIB_WM_OPTIONS_DIR) \ $(LINKEXE) $(OBJECTS) -L$(LIB_PLATFORMS) \
$(EXE_LIBS) $(PROJECT_LIBS) $(SYS_LIBS) $(LINK_LIBS) $(GLIBS) -o $(EXE) $(EXE_LIBS) $(PROJECT_LIBS) $(SYS_LIBS) $(LINK_LIBS) $(GLIBS) -o $(EXE)
exe: $(SEXE) exe: $(SEXE)
@ -173,7 +172,7 @@ $(LIB).$(SO): $(OBJECTS)
@$(WM_SCRIPTS)/makeTargetDir $(LIB) @$(WM_SCRIPTS)/makeTargetDir $(LIB)
@rm -f so_locations @rm -f so_locations
@cd $(OBJECTS_DIR) ; \ @cd $(OBJECTS_DIR) ; \
$(LINKLIBSO) $(LOCAL_OBJECTS) -L$(LIB_WM_OPTIONS_DIR) $(LIB_LIBS) $(GLIB_LIBS) -o $(LIB).$(SO) $(LINKLIBSO) $(LOCAL_OBJECTS) -L$(LIB_PLATFORMS) $(LIB_LIBS) $(GLIB_LIBS) -o $(LIB).$(SO)
lib: $(LIB).a lib: $(LIB).a
@echo \'$(LIB).a\' is up to date. @echo \'$(LIB).a\' is up to date.