Differences From Artifact [359a7faf87]:

To Artifact [d5192908e2]:


1




2

3
4
5


6
7
8






9
10




11
12


13
14
15
16
17
18
19
















20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39



































40
41
42


43
44
45
46






47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89




90

91
92
93
94
95
96
97
98
99

100
1
2
3
4
5

6



7
8



9
10
11
12
13
14


15
16
17
18


19
20
21






22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37




















38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72



73
74




75
76
77
78
79
80











































81
82
83
84

85
86
87
88
89
90
91
92
93

94
95

+
+
+
+
-
+
-
-
-
+
+
-
-
-
+
+
+
+
+
+
-
-
+
+
+
+
-
-
+
+

-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+








-
+

;; -*- mode: Scheme; tab-width: 2; -*- ;;

(define modules
	`(-j iup
		-j iup-base -j iup-controls -j iup-dialogs
(cond-expand
		,@(cond-expand
 [no-library-checks
	(define-syntax check-libraries
		(syntax-rules ()
			 [disable-iup-glcanvas
				'()]
			[(check-libraries [lib fun] ...)
			 #t]))]
 [else
			 [else
				'(-j iup-glcanvas)])
		,@(cond-expand
			 [disable-iup-pplot
				'()]
			 [else
	(define-syntax check-libraries
		(syntax-rules ()
				'(-j iup-pplot)])
		,@(cond-expand
			 [disable-iup-web
				'()]
			[(check-libraries [lib fun] ...)
			 (and (find-library lib fun) ...)]))])
			 [else
				'(-j iup-web)])))

(if (check-libraries
		  ["callback" "alloc_trampoline_r"]
			["iup" "IupOpen"]
			["iupim" "IupLoadImage"]
			["iupimglib" "IupImageLibOpen"])
	(begin
(define import-libraries
	`("iup.import.so"
		"iup-base.import.so" "iup-controls.import.so" "iup-dialogs.import.so"
		,@(cond-expand
			 [disable-iup-glcanvas
				'()]
			 [else
				'("iup-glcanvas.import.so")])
		,@(cond-expand
			 [disable-iup-pplot
				'()]
			 [else
				'("iup-pplot.import.so")])
		,@(cond-expand
			 [disable-iup-web
				'()]
		(compile -s -O2 -d1 "iup-base.scm" -j iup-base "-lcallback -liup -liupim -liupimglib")
		(compile -c -O2 -d1 "iup-base.scm" -j iup-base -unit iup-base)
		(compile -s -O2 -d0 "iup-base.import.scm")
		
		(install-extension
		 'iup-base
		 '("iup-base.so" "iup-base.o" "iup-base.import.so" "iup-types.scm")
		 '((version 1.0.2)
			 (static "iup-base.o")
			 (static-options "-lcallback -liup -liupim -liupimglib")))
		
		(compile -s -O2 -d1 "iup-controls.scm" -j iup-controls "-liup -liupcontrols")
		(compile -c -O2 -d1 "iup-controls.scm" -j iup-controls -unit iup-controls)
		(compile -s -O2 -d0 "iup-controls.import.scm")
		
		(install-extension
		 'iup-controls
		 '("iup-controls.so" "iup-controls.o" "iup-controls.import.so")
		 '((version 1.0.2)
			 (static "iup-controls.o")
			 [else
				'("iup-web.import.so")])))

(define native-libraries
	`("-lcallback"
		"-liup" "-liupim" "-liupimglib" "-liupcontrols"
		,@(cond-expand
			 [disable-iup-glcanvas
				'()]
			 [else
				'("-liupgl")])
		,@(cond-expand
			 [disable-iup-pplot
				'()]
			 [else
				'("-liup_pplot")])
		,@(cond-expand
			 [disable-iup-web
				'()]
			 [else
				'("-liupweb")])))

(compile -s -O2 -d1 "iup.scm" ,@modules ,@native-libraries)
(compile -c -O2 -d1 "iup.scm" -unit iup)
(compile -s -O2 -d0 "iup.import.scm")
(compile -s -O2 -d0 "iup-base.import.scm")
(compile -s -O2 -d0 "iup-controls.import.scm")
(compile -s -O2 -d0 "iup-dialogs.import.scm")

(cond-expand
 [disable-iup-glcanvas]
 [else
	(compile -s -O2 -d0 "iup-glcanvas.import.scm")])
(cond-expand
 [disable-iup-pplot]
			 (static-options "-liup -liupcontrols")))
		
		(compile -s -O2 -d1 "iup-dialogs.scm" -j iup-dialogs "-liup")
 [else
	(compile -s -O2 -d0 "iup-pplot.import.scm")])
		(compile -c -O2 -d1 "iup-dialogs.scm" -j iup-dialogs -unit iup-dialogs)
		(compile -s -O2 -d0 "iup-dialogs.import.scm")
		
		(install-extension
(cond-expand
 [disable-iup-web]
 [else
	(compile -s -O2 -d0 "iup-web.import.scm")])

(install-extension
		 'iup-dialogs
		 '("iup-dialogs.so" "iup-dialogs.o" "iup-dialogs.import.so")
		 '((version 1.0.2)
			 (static "iup-dialogs.o")
			 (static-options "-liup")))
		
		(if (check-libraries ["iupgl" "IupGLCanvasOpen"])
			(begin
				(compile -s -O2 -d1 "iup-glcanvas.scm" -j iup-glcanvas "-liup -liupgl")
				(compile -c -O2 -d1 "iup-glcanvas.scm" -j iup-glcanvas -unit iup-glcanvas)
				(compile -s -O2 -d0 "iup-glcanvas.import.scm")
				
				(install-extension
				 'iup-glcanvas
				 '("iup-glcanvas.so" "iup-glcanvas.o" "iup-glcanvas.import.so")
				 '((version 1.0.2)
					 (static "iup-glcanvas.o")
					 (static-options "-liup -liupgl"))))
			(warning "IUP GLCanvas not found, some bindings cannot be compiled"))
		
		(if (check-libraries ["iup_pplot" "IupPPlotOpen"])
			(begin
				(compile -s -O2 -d1 "iup-pplot.scm" -j iup-pplot "-liup -liup_pplot")
				(compile -c -O2 -d1 "iup-pplot.scm" -j iup-pplot -unit iup-pplot)
				(compile -s -O2 -d0 "iup-pplot.import.scm")
				
				(install-extension
				 'iup-pplot
				 '("iup-pplot.so" "iup-pplot.o" "iup-pplot.import.so")
				 '((version 1.0.2)
					 (static "iup-pplot.o")
					 (static-options "-liup -liup_pplot"))))
			(warning "IUP PPlot not found, some bindings cannot be compiled"))
		
		(compile -s -O2 -d1 "iup.scm" -j iup)
		(compile -c -O2 -d1 "iup.scm" -j iup -unit iup)
		(compile -s -O2 -d0 "iup.import.scm")
		
		(install-extension
		 'iup
		 '("iup.so" "iup.o" "iup.import.so")
		 '((version 1.0.2)
			 (static "iup.o"))))
 'iup
 `("iup.so" "iup.o" "iup-types.scm" ,@import-libraries)
 `((version 1.2.1)
	 (static "iup-base.o")
	(warning "IUP or ffcall not found, none of the bindings can be compiled"))
	 (static-options ,(string-intersperse native-libraries))))

(compile -s -O2 -d1 "iup-dynamic.scm" -j iup-dynamic)
(compile -c -O2 -d1 "iup-dynamic.scm" -j iup-dynamic -unit iup-dynamic)
(compile -s -O2 -d0 "iup-dynamic.import.scm")

(install-extension
 'iup-dynamic
 '("iup-dynamic.so" "iup-dynamic.o" "iup-dynamic.import.so")
 '((version 1.0.2)
 '((version 1.2.1)
   (static "iup-dynamic.o")))