[pedevel] Building on Haiku, /boot/common instead of /boot/home/config?
- From: "scott mc" <scottmc2@xxxxxxxxx>
- To: pedevel@xxxxxxxxxxxxx
- Date: Wed, 17 Sep 2008 15:31:09 -0700
Today I tried building Pe on Haiku, but got an error about pcre
missing. Well it turns out it wasn't missing, but it was installed in
/boot/common instead of /boot/home/config. I started looking through
the code and found numerous cases where /boot/home/config was hard
coded in. I assume there's a better way to handle it that I don't yet
know about? Perhaps a MACRO or something like that?
Anyways I ran grep -nri '/boot/home/config' ../trunk to locate all
cases and changed those over to /boot/common, except when it was
looking for config/settings. Are custom settings eventually also
moving to /boot/common or will those stay in home/config/settings?
Attached is the .diff file. Making this change did allow pe r537 to
compile on Haiku.
This patch will most likely break building pe on BeOS and/or Zeta, so
probably not something you'd want to apply. If I can be directed to a
better type of solution this can serve as a guide to finding the cases
that need fixing in a better way.
-scottmc
Index: Extensions/Jamfile
===================================================================
--- Extensions/Jamfile (revision 537)
+++ Extensions/Jamfile (working copy)
@@ -2,8 +2,8 @@
SubDirHdrs $(TOP) Sources ;
-SubDirSysHdrs /boot/home/config/include ;
-LINKFLAGS += -L/boot/home/config/lib ;
+SubDirSysHdrs /boot/common/include ;
+LINKFLAGS += -L/boot/common/lib ;
# <pe-src>
PeExtension PrefixLines
Index: build/BuildSettings
===================================================================
--- build/BuildSettings (revision 537)
+++ build/BuildSettings (working copy)
@@ -47,7 +47,7 @@
CCFLAGS += -isystem /boot/develop/headers/pcre ;
C++FLAGS += -isystem /boot/develop/headers/pcre ;
} else {
- haveHeadersPcre = [ GLOB /boot/home/config/include : pcre.h ] ;
+ haveHeadersPcre = [ GLOB /boot/common/include : pcre.h ] ;
if ! $(haveHeadersPcre) {
Exit "You need to have pcre installed on your system." ;
}
Index: lpe/lpe.cpp
===================================================================
--- lpe/lpe.cpp (revision 537)
+++ lpe/lpe.cpp (working copy)
@@ -34,7 +34,7 @@
cd ~/projects/pe/lpe
mwcc -prefix BeHeaders lpe.cpp
-cp lpe ~/config/bin
+cp lpe /boot/common/bin
*/
#include <vector>
Index: Jamrules
===================================================================
--- Jamrules (revision 537)
+++ Jamrules (working copy)
@@ -48,7 +48,7 @@
mkdir $(DISTRO_DIR)/Documentation/gifs ;
cp -a $(TOP)/doc/gifs/*.gif $(DISTRO_DIR)/Documentation/gifs/ ;
ln -sf Documentation/index.html $(DISTRO_DIR)/Documentation.html ;
- ln -sf /boot/home/config/bin/ $(DISTRO_DIR)/\(drag\ lpe\ here\ to\
install\) ;
- cp -a /boot/home/config/lib/libpcre*.so $(DISTRO_DIR)/lib/ ;
+ ln -sf /boot/common/bin/ $(DISTRO_DIR)/\(drag\ lpe\ here\ to\ install\)
;
+ cp -a /boot/common/lib/libpcre*.so $(DISTRO_DIR)/lib/ ;
}
Index: Sources/Jamfile
===================================================================
--- Sources/Jamfile (revision 537)
+++ Sources/Jamfile (working copy)
@@ -40,8 +40,8 @@
DEFINES = $(SAVED_DEFINES) ;
-SubDirSysHdrs /boot/home/config/include ;
-LINKFLAGS += -L/boot/home/config/lib ;
+SubDirSysHdrs /boot/common/include ;
+LINKFLAGS += -L/boot/common/lib ;
#<pe-src>
Application pe :
Index: doc/VariousTips.html
===================================================================
--- doc/VariousTips.html (revision 537)
+++ doc/VariousTips.html (working copy)
@@ -58,9 +58,9 @@
<p>Incremental search is a powerful feature, which you can
start by a keystroke or by clicking the Incremental Search button. When Pe is
in Incremental Search mode, every character you type is added to a search
string and Pe will immediately try to find that string. By default Incremental
Search is case insensitive but you can change this.<br>
The search pattern will be entered into the Find Dialog, so if
you feel the need to see the search string you entered, you can find it there.
If you type the Incremental Search command twice, the last search pattern will
be re-used.
- <p>During installation a commandline application called lpe was
installed in the config/bin directory. You can use this app to use Pe as if it
was a commandline editor. To let other commandline based applications like CVS
use this you should set the environmental variable EDITOR to
/boot/home/config/bin/lpe. You can do that by adding the following line to your
UserSetupenvironment file (which you can find in the ~/config/boot directory).
+ <p>During installation a commandline application called lpe was
installed in the /boot/common/bin directory. You can use this app to use Pe as
if it was a commandline editor. To let other commandline based applications
like CVS use this you should set the environmental variable EDITOR to
/boot/common/bin/lpe. You can do that by adding the following line to your
UserSetupenvironment file (which you can find in the ~/config/boot directory).
<code><pre>
-export EDITOR=/boot/home/config/bin/lpe
+export EDITOR=/boot/common/bin/lpe
</pre></code>
<hr>
Index: Languages/Sources/Lout_Popup.l
===================================================================
--- Languages/Sources/Lout_Popup.l (revision 537)
+++ Languages/Sources/Lout_Popup.l (working copy)
@@ -37,7 +37,7 @@
Caveats:
- This assumes that lout's data is installed under:
- "/boot/home/config/etc/lout/"
+ "/boot/common/etc/lout/"
*but*
if the enviromental variable "$LOUTLIB" is found, it's value is used
instead (make sure it is correct!).
@@ -196,7 +196,7 @@
static void AddSysDataBase(CLanguageProxy& proxy)
{
- static const char* kLoutDataDir = "/boot/home/config/etc/lout/data/";
+ static const char* kLoutDataDir = "/boot/common/etc/lout/data/";
static const size_t kLoutDataDirLen = strlen(kLoutDataDir);
static const char* kLoutLib = getenv("LOUTLIB");
@@ -236,7 +236,7 @@
static void AddSysInclude(CLanguageProxy& proxy)
{
- static const char* kLoutIncludeDir =
"/boot/home/config/etc/lout/include/";
+ static const char* kLoutIncludeDir = "/boot/common/etc/lout/include/";
static const size_t kLoutIncludeDirLen = strlen(kLoutIncludeDir);
static const char* kLoutLib = getenv("LOUTLIB");
Other related posts:
- » [pedevel] Re: Building on Haiku, /boot/common instead of /boot/home/config?
- » [pedevel] Re: Building on Haiku, /boot/common instead of /boot/home/config?
- » [pedevel] Re: Building on Haiku, /boot/common instead of /boot/home/config?
- » [pedevel] Re: Building on Haiku, /boot/common instead of /boot/home/config?
- » [pedevel] Re: Building on Haiku, /boot/common instead of /boot/home/config?
- » [pedevel] Re: Building on Haiku, /boot/common instead of /boot/home/config?
- » [pedevel] Re: Building on Haiku, /boot/common instead of /boot/home/config?
- » [pedevel] Re: Building on Haiku, /boot/common instead of /boot/home/config?
- » [pedevel] Re: Building on Haiku, /boot/common instead of /boot/home/config?
- » [pedevel] Re: Building on Haiku, /boot/common instead of /boot/home/config?
- » [pedevel] Re: Building on Haiku, /boot/common instead of /boot/home/config?
- » [pedevel] Building on Haiku, /boot/common instead of /boot/home/config?