Skip to content

Commit a310238

Browse files
committed
* new: Hierarchical build from independent projects
1 parent 4403e6a commit a310238

File tree

9 files changed

+64
-0
lines changed

9 files changed

+64
-0
lines changed

52-Hierarchical/SConscript

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Import( 'env' )
2+
Import( 'first' )
3+
Import( 'second' )
4+
5+
env.Program( 'main', ['main.c', first, second ] )
6+
7+

52-Hierarchical/SConstruct

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
env = Environment();
3+
4+
Export( 'env' )
5+
6+
first = SConscript( './first/SConscript' )
7+
second = SConscript( './second/SConscript' )
8+
9+
SConscript( './SConscript', exports=['first','second'] )

52-Hierarchical/first/SConscript

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Import( 'env' )
2+
3+
first_lib = env.Library( 'foo', ['f3.c'] )
4+
Return( 'first_lib' )

52-Hierarchical/first/SConstruct

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
env = Environment();
3+
4+
Export( 'env' )
5+
6+
SConscript( './SConscript' )

52-Hierarchical/first/f3.c

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#include <stdio.h>
2+
int main_LibFirst()
3+
{
4+
printf("Hello, world from LIB!\n");
5+
return 1;
6+
}

52-Hierarchical/main.c

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#include <stdio.h>
2+
3+
int main()
4+
{
5+
extern int main_LibSecond();
6+
extern int main_LibFirst();
7+
8+
main_LibFirst();
9+
main_LibSecond();
10+
11+
printf("Hello, world from LIB!\n");
12+
return 1;
13+
}

52-Hierarchical/second/SConscript

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
2+
Import( 'env' )
3+
4+
second_lib = env.Library( 'foo', ['f3.c'] )
5+
6+
Return('second_lib')
7+

52-Hierarchical/second/SConstruct

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
env = Environment();
3+
4+
Export( 'env' )
5+
6+
SConscript( './SConscript' )

52-Hierarchical/second/f3.c

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#include <stdio.h>
2+
int main_LibSecond()
3+
{
4+
printf("Hello, world from DLL!\n");
5+
return 1;
6+
}

0 commit comments

Comments
 (0)