aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2012-11-06 18:21:53 +0000
committerMike Buland <eichlan@xagasoft.com>2012-11-06 18:21:53 +0000
commite7a2aa16ae7351d4c986a7ae5753ccb7ac880b8b (patch)
tree03d914da62012b6ced820a4fe64c64359bd7ddc1
parent1331c762c05643d7a4fcd4abeb951ed814cea47d (diff)
downloadbuild-e7a2aa16ae7351d4c986a7ae5753ccb7ac880b8b.tar.gz
build-e7a2aa16ae7351d4c986a7ae5753ccb7ac880b8b.tar.bz2
build-e7a2aa16ae7351d4c986a7ae5753ccb7ac880b8b.tar.xz
build-e7a2aa16ae7351d4c986a7ae5753ccb7ac880b8b.zip
Stole the packaging from libbu++ (again).
-rw-r--r--build.conf35
-rwxr-xr-xbuild.sh60
-rw-r--r--default.bld56
-rw-r--r--version1
4 files changed, 87 insertions, 65 deletions
diff --git a/build.conf b/build.conf
deleted file mode 100644
index cab11a8..0000000
--- a/build.conf
+++ /dev/null
@@ -1,35 +0,0 @@
1# build.conf for build, kind of whacky, eh?
2
3default action: check targets()
4
5set "CXXFLAGS" += "-ggdb -W -Wall"
6
7"build":
8 rule "exe",
9 target file,
10 requires "libbu++/libbu++.a",
11 set "LDFLAGS" += "-Llibbu++ -lbu++ -ldl",
12 set "CXXFLAGS" += "-Ilibbu++",
13 input filesIn("src") filter regexp(".*\\.(cpp|y|l)$")
14
15rule "exe":
16 matches regexp("(.*)\\.o$"),
17 aggregate toString(" "),
18 perform command("g++ -o {target} {match} {LDFLAGS}")
19
20rule "cpp":
21 matches regexp("(.*)\\.(cpp|c)$"),
22 produces "{re:1}.o",
23 requires commandToList("g++ -M {CXXFLAGS} {match}", "make"),
24 perform command("g++ {CXXFLAGS} -c -o {target} {match}")
25
26rule "bison":
27 matches regexp("(.*)\\.y$"),
28 produces ["{re:1}.tab.c", "{re:1}.tab.h", "{re:1}.output"],
29 perform command("bison -v -b{re:1} {match}")
30
31rule "flex":
32 matches regexp("(.*)\\.l$"),
33 produces ["{re:1}.yy.c","{re:1}.yy.h"],
34 perform command("flex {FLEXFLAGS} {match}")
35
diff --git a/build.sh b/build.sh
index 0120833..3d8bfdb 100755
--- a/build.sh
+++ b/build.sh
@@ -33,12 +33,46 @@ function gpp()
33 bld "$1" "$2" || cmd CXX "$1" g++ -ggdb -fPIC -W -Wall -Iminibu -c -o "$1" "$2" 33 bld "$1" "$2" || cmd CXX "$1" g++ -ggdb -fPIC -W -Wall -Iminibu -c -o "$1" "$2"
34} 34}
35 35
36function presetup()
37{
38 for dir in minibu/src minibu/bu minibu/bu/compat; do
39 cmd MKDIR ${dir} mkdir -p ${dir}
40 done
41 cmd FAKE minibu/bu/autoconfig.h touch minibu/bu/autoconfig.h
42 for file in $(cd bootstrap; ls); do
43 cmd BOOTSTRAP minibu/bu/${file} cp bootstrap/${file} minibu/bu
44 done
45 for F in $BUSRC; do
46 bld minibu/src/$F || cmd WGET minibu/src/$F wget -q http://svn.xagasoft.com/libbu++/trunk/src/stable/$F -O minibu/src/$F
47 done
48 for F in $BUHDR; do
49 bld minibu/bu/$F || cmd WGET minibu/bu/$F wget -q http://svn.xagasoft.com/libbu++/trunk/src/stable/$F -O minibu/bu/$F
50 done
51 for F in $BUEXPSRC; do
52 bld minibu/src/$F || cmd WGET minibu/src/$F wget -q http://svn.xagasoft.com/libbu++/trunk/src/experimental/$F -O minibu/src/$F
53 done
54 for F in $BUEXPHDR; do
55 bld minibu/bu/$F || cmd WGET minibu/bu/$F wget -q http://svn.xagasoft.com/libbu++/trunk/src/experimental/$F -O minibu/bu/$F
56 done
57 for F in $BUCOMPAT; do
58 bld minibu/bu/$F || cmd WGET minibu/bu/$F wget -q http://svn.xagasoft.com/libbu++/trunk/src/$F -O minibu/bu/$F
59 done
60
61 bld src/build.tab.c src/build.y || cmd BISON src/build.tab.c bison -bsrc/build src/build.y
62 bld src/build.yy.c src/build.l || cmd FLEX src/build.yy.c flex src/build.l
63}
64
36if [ ! -z "$1" ]; then 65if [ ! -z "$1" ]; then
37 if [ "$1" == "clean" -o "$1" == "-c" ]; then 66 if [ "$1" == "clean" -o "$1" == "-c" ]; then
38 echo "Cleaning up, deleting all object code and downloaded source code..." 67 echo "Cleaning up, deleting all object code and downloaded source code..."
39 echo 68 echo
40 rm -Rf minibu src/*.o 69 rm -Rf minibu src/*.o
41 exit 70 exit
71 elif [ "$1" == "setup" -o "$1" == "-s" ]; then
72 echo "Only preforming download / setup"
73 echo
74 presetup
75 exit
42 else 76 else
43 echo "The only option supported is \"clean\", otherwise run $0" 77 echo "The only option supported is \"clean\", otherwise run $0"
44 echo "with no parameters to compile build." 78 echo "with no parameters to compile build."
@@ -47,31 +81,7 @@ if [ ! -z "$1" ]; then
47 fi 81 fi
48fi 82fi
49 83
50for dir in minibu/src minibu/bu minibu/bu/compat; do 84presetup
51 cmd MKDIR ${dir} mkdir -p ${dir}
52done
53cmd FAKE minibu/bu/autoconfig.h touch minibu/bu/autoconfig.h
54for file in $(cd bootstrap; ls); do
55 cmd BOOTSTRAP minibu/bu/${file} cp bootstrap/${file} minibu/bu
56done
57for F in $BUSRC; do
58 bld minibu/src/$F || cmd WGET minibu/src/$F wget -q http://svn.xagasoft.com/libbu++/trunk/src/stable/$F -O minibu/src/$F
59done
60for F in $BUHDR; do
61 bld minibu/bu/$F || cmd WGET minibu/bu/$F wget -q http://svn.xagasoft.com/libbu++/trunk/src/stable/$F -O minibu/bu/$F
62done
63for F in $BUEXPSRC; do
64 bld minibu/src/$F || cmd WGET minibu/src/$F wget -q http://svn.xagasoft.com/libbu++/trunk/src/experimental/$F -O minibu/src/$F
65done
66for F in $BUEXPHDR; do
67 bld minibu/bu/$F || cmd WGET minibu/bu/$F wget -q http://svn.xagasoft.com/libbu++/trunk/src/experimental/$F -O minibu/bu/$F
68done
69for F in $BUCOMPAT; do
70 bld minibu/bu/$F || cmd WGET minibu/bu/$F wget -q http://svn.xagasoft.com/libbu++/trunk/src/$F -O minibu/bu/$F
71done
72
73bld src/build.tab.c src/build.y || cmd BISON src/build.tab.c bison -bsrc/build src/build.y
74bld src/build.yy.c src/build.l || cmd FLEX src/build.yy.c flex src/build.l
75 85
76for F in $BUSRC $BUEXPSRC; do 86for F in $BUSRC $BUEXPSRC; do
77 OUTPUT=${F%.*}.o 87 OUTPUT=${F%.*}.o
diff --git a/default.bld b/default.bld
index 6309518..fbf33df 100644
--- a/default.bld
+++ b/default.bld
@@ -70,10 +70,20 @@ for IN in files("src/plugins/*.cpp") do
70 } 70 }
71} 71}
72 72
73target "build-r$(svnversion "-n").tar.bz2" 73target "minibu"
74{
75 profile "build"
76 {
77 condition always;
78 execute("./build.sh setup");
79 }
80}
81
82PKG_BASE = "build-$(cat version)-r$(svnversion "-n").tar";
83
84target PKG_BASE
74{ 85{
75 input [ 86 input [
76 "build.conf",
77 "Doxyfile", 87 "Doxyfile",
78 "default.bld", 88 "default.bld",
79 "docs/build.1", 89 "docs/build.1",
@@ -83,15 +93,52 @@ target "build-r$(svnversion "-n").tar.bz2"
83 "support/vim/ftplugin/build.vim", 93 "support/vim/ftplugin/build.vim",
84 files("src/*.y"), 94 files("src/*.y"),
85 files("src/*.l"), 95 files("src/*.l"),
96 files("src/*.c"),
86 files("src/*.cpp"), 97 files("src/*.cpp"),
87 files("src/*.h"), 98 files("src/*.h"),
88 files("share/autoinclude/*"), 99 files("share/autoinclude/*"),
89 files("share/include/*") 100 files("share/include/*"),
101 "minibu",
102 files("minibu/bu/*"),
103 files("minibu/src/*")
90 ]; 104 ];
91 rule "tarball"; 105 rule "tarball";
92 tag "pkg"; 106 tag "pkg";
93} 107}
94 108
109target PKG_BASE + ".gz"
110{
111 input PKG_BASE;
112 tag "pkg";
113 display "gzip";
114 profile "build"
115 {
116 execute("gzip -9 < ${INPUT} > ${OUTPUT}");
117 }
118}
119
120target PKG_BASE + ".bz2"
121{
122 input PKG_BASE;
123 tag "pkg";
124 display "bzip2";
125 profile "build"
126 {
127 execute("bzip2 -9 < ${INPUT} > ${OUTPUT}");
128 }
129}
130
131target PKG_BASE + ".xz"
132{
133 input PKG_BASE;
134 tag "pkg";
135 display "xz";
136 profile "build"
137 {
138 execute("xz -9vv < ${INPUT} > ${OUTPUT}");
139 }
140}
141
95rule "tarball" 142rule "tarball"
96{ 143{
97 input matches("*.cpp", "*.h", "*.c", "*.y", "*.l", "*.conf", "Doxyfile", 144 input matches("*.cpp", "*.h", "*.c", "*.y", "*.l", "*.conf", "Doxyfile",
@@ -99,8 +146,7 @@ rule "tarball"
99 profile "build" 146 profile "build"
100 { 147 {
101 OUTDIR = OUTPUT.replace(".tar.bz2",""); 148 OUTDIR = OUTPUT.replace(".tar.bz2","");
102 execute("tar --transform=\"s@^@${OUTDIR}/@\" -c ${INPUT} |" 149 execute("tar -f ./${OUTPUT} --transform=\"s@^@${OUTDIR}/@\" -c ${INPUT}");
103 " bzip2 -9 > ${OUTPUT}");
104 } 150 }
105} 151}
106 152
diff --git a/version b/version
new file mode 100644
index 0000000..6e6566c
--- /dev/null
+++ b/version
@@ -0,0 +1 @@
0.01