Changeset 25739 in project


Ignore:
Timestamp:
12/25/11 02:39:04 (8 years ago)
Author:
Thomas Chust
Message:

[iup] Simplified build logic, combined libraries

Location:
release/4/iup/trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • release/4/iup/trunk/iup-base.scm

    r23564 r25739  
    1 (require-library
    2         lolevel data-structures extras srfi-1 srfi-13 srfi-42 irregex posix)
    3 
    4 (module iup-base
    5         (ihandle->pointer pointer->ihandle ihandle-list->pointer-vector ihandle?
    6          istatus->integer integer->istatus
    7          iname->string string->iname
    8          thread-watchdog iup-version load/led
    9          attribute attribute-set! attribute-reset!
    10          handle-name handle-name-set! handle-ref
    11          main-loop main-loop-step main-loop-level main-loop-exit main-loop-flush
    12          callback callback-set!
    13          make-constructor-procedure optional-args
    14          create destroy! map-peer! unmap-peer!
    15          class-name class-type save-attributes!
    16          parent parent-dialog sibling
    17          child-add! child-remove! child-move!
    18          child-ref child-pos child-count
    19          :children children
    20          refresh redraw
    21          child-x/y->pos
    22          show hide
    23          dialog
    24          fill hbox vbox zbox cbox sbox
    25          radio normalizer split
    26          image/palette image/rgb image/rgba image/file image-save
    27          current-focus focus-next focus-previous
    28          menu menu-item menu-separator
    29          clipboard timer send-url)
    30         (import
    31                 scheme chicken foreign
    32                 lolevel data-structures extras srfi-1 srfi-13 srfi-42 irregex
    33                 (only posix setenv))
     1;; -*- mode: Scheme; tab-width: 2; -*- ;;
    342
    353;; {{{ Data types
     
    703671
    704672;; }}}
    705 
    706 )
  • release/4/iup/trunk/iup-controls.scm

    r20570 r25739  
    1 (require-library iup-base)
    2 
    3 (module iup-controls
    4         (canvas
    5          frame tabs
    6          label button toggle
    7          spin spinbox valuator
    8          textbox listbox treebox
    9          progress-bar
    10          matrix cells
    11          color-bar color-browser
    12          dial)
    13         (import
    14                 scheme chicken foreign
    15                 iup-base)
     1;; -*- mode: Scheme; tab-width: 2; -*- ;;
    162
    173;; {{{ Data types
     
    125111
    126112;; }}}
    127 
    128 )
  • release/4/iup/trunk/iup-dialogs.scm

    r20570 r25739  
    1 (require-library iup-base)
    2 
    3 (module iup-dialogs
    4         (file-dialog message-dialog color-dialog font-dialog)
    5         (import
    6                 scheme chicken foreign
    7                 iup-base)
     1;; -*- mode: Scheme; tab-width: 2; -*- ;;
    82
    93;; {{{ Data types
     
    3529
    3630;; }}}
    37 
    38 )
  • release/4/iup/trunk/iup-dynamic.scm

    r20570 r25739  
     1;; -*- mode: Scheme; tab-width: 2; -*- ;;
     2
    13(module iup-dynamic
    24        (iup-available? iup-dynamic-require)
  • release/4/iup/trunk/iup-glcanvas.scm

    r20570 r25739  
    1 (require-library iup-base)
    2 
    3 (module iup-glcanvas
    4         (glcanvas
    5          call-with-glcanvas glcanvas-is-current?
    6          glcanvas-palette-set! glcanvas-font-set!)
    7         (import
    8                 scheme chicken foreign
    9                 iup-base)
     1;; -*- mode: Scheme; tab-width: 2; -*- ;;
    102
    113;; {{{ Data types
     
    6153
    6254;; }}}
    63 
    64 )
  • release/4/iup/trunk/iup-pplot.scm

    r20570 r25739  
    1 (require-library iup-base)
    2 
    3 (module iup-pplot
    4         (pplot
    5          call-with-pplot pplot-add!
    6          pplot-x/y->pixel-x/y
    7          pplot-paint-to)
    8         (import
    9                 scheme chicken foreign
    10                 iup-base)
     1;; -*- mode: Scheme; tab-width: 2; -*- ;;
    112
    123;; {{{ Data types
     
    7465
    7566;; }}}
    76 
    77 )
  • release/4/iup/trunk/iup-types.scm

    r20671 r25739  
     1;; -*- mode: Scheme; tab-width: 2; -*- ;;
     2
    13(define-foreign-type ihandle (c-pointer "Ihandle")
    24        (ihandle->pointer #f)
  • release/4/iup/trunk/iup-web.scm

    r23225 r25739  
    1 (require-library iup-base)
    2 
    3 (module iup-web
    4         (web-browser)
    5         (import
    6                 scheme chicken foreign
    7                 iup-base)
     1;; -*- mode: Scheme; tab-width: 2; -*- ;;
    82
    93;; {{{ Data types
     
    3024
    3125;; }}}
    32 
    33 )
  • release/4/iup/trunk/iup.scm

    r20570 r25739  
    1 (require-library iup-base iup-controls iup-dialogs)
     1;; -*- mode: Scheme; tab-width: 2; -*- ;;
     2
     3(require-library
     4  lolevel data-structures extras srfi-1 srfi-13 srfi-42 irregex posix)
     5
     6(module iup-base
     7        (ihandle->pointer pointer->ihandle ihandle-list->pointer-vector ihandle?
     8         istatus->integer integer->istatus
     9         iname->string string->iname
     10         thread-watchdog iup-version load/led
     11         attribute attribute-set! attribute-reset!
     12         handle-name handle-name-set! handle-ref
     13         main-loop main-loop-step main-loop-level main-loop-exit main-loop-flush
     14         callback callback-set!
     15         make-constructor-procedure optional-args
     16         create destroy! map-peer! unmap-peer!
     17         class-name class-type save-attributes!
     18         parent parent-dialog sibling
     19         child-add! child-remove! child-move!
     20         child-ref child-pos child-count
     21         :children children
     22         refresh redraw
     23         child-x/y->pos
     24         show hide
     25         dialog
     26         fill hbox vbox zbox cbox sbox
     27         radio normalizer split
     28         image/palette image/rgb image/rgba image/file image-save
     29         current-focus focus-next focus-previous
     30         menu menu-item menu-separator
     31         clipboard timer send-url)
     32        (import
     33                scheme chicken foreign
     34                lolevel data-structures extras srfi-1 srfi-13 srfi-42 irregex
     35                (only posix setenv))
     36        (include "iup-base.scm"))
     37
     38(module iup-controls
     39        (canvas
     40         frame tabs
     41         label button toggle
     42         spin spinbox valuator
     43         textbox listbox treebox
     44         progress-bar
     45         matrix cells
     46         color-bar color-browser
     47         dial)
     48        (import
     49                scheme chicken foreign
     50                iup-base)
     51        (include "iup-controls.scm"))
     52
     53(module iup-dialogs
     54        (file-dialog message-dialog color-dialog font-dialog)
     55        (import
     56                scheme chicken foreign
     57                iup-base)
     58        (include "iup-dialogs.scm"))
     59
     60(cond-expand
     61 [disable-iup-glcanvas]
     62 [else
     63        (module iup-glcanvas
     64                (glcanvas
     65                 call-with-glcanvas glcanvas-is-current?
     66                 glcanvas-palette-set! glcanvas-font-set!)
     67                (import
     68                  scheme chicken foreign
     69                        iup-base)
     70                (include "iup-glcanvas.scm"))])
     71
     72(cond-expand
     73 [disable-iup-pplot]
     74 [else
     75        (module iup-pplot
     76                (pplot
     77                 call-with-pplot pplot-add!
     78                 pplot-x/y->pixel-x/y
     79                 pplot-paint-to)
     80                (import
     81                  scheme chicken foreign
     82                        iup-base)
     83                (include "iup-pplot.scm"))])
     84
     85(cond-expand
     86 [disable-iup-web]
     87 [else
     88        (module iup-web
     89                (web-browser)
     90                (import
     91                  scheme chicken foreign
     92                        iup-base)
     93                (include "iup-web.scm"))])
    294
    395(module iup
  • release/4/iup/trunk/iup.setup

    r23225 r25739  
    11;; -*- mode: Scheme; tab-width: 2; -*- ;;
     2
     3(define modules
     4        `(-j iup
     5                -j iup-base -j iup-controls -j iup-dialogs
     6                ,@(cond-expand
     7                         [disable-iup-glcanvas
     8                                '()]
     9                         [else
     10                                '(-j iup-glcanvas)])
     11                ,@(cond-expand
     12                         [disable-iup-pplot
     13                                '()]
     14                         [else
     15                                '(-j iup-pplot)])
     16                ,@(cond-expand
     17                         [disable-iup-web
     18                                '()]
     19                         [else
     20                                '(-j iup-web)])))
     21
     22(define import-libraries
     23        `("iup.import.so"
     24                "iup-base.import.scm" "iup-controls.import.scm" "iup-dialogs.import.scm"
     25                ,@(cond-expand
     26                         [disable-iup-glcanvas
     27                                '()]
     28                         [else
     29                                '("iup-glcanvas.import.scm")])
     30                ,@(cond-expand
     31                         [disable-iup-pplot
     32                                '()]
     33                         [else
     34                                '("iup-pplot.import.scm")])
     35                ,@(cond-expand
     36                         [disable-iup-web
     37                                '()]
     38                         [else
     39                                '("iup-web.import.scm")])))
     40
     41(define native-libraries
     42        `("-lcallback"
     43                "-liup" "-liupim" "-liupimglib" "-liupcontrols"
     44                ,@(cond-expand
     45                         [disable-iup-glcanvas
     46                                '()]
     47                         [else
     48                                '("-liupgl")])
     49                ,@(cond-expand
     50                         [disable-iup-pplot
     51                                '()]
     52                         [else
     53                                '("-liup_pplot")])
     54                ,@(cond-expand
     55                         [disable-iup-web
     56                                '()]
     57                         [else
     58                                '("-liupweb")])))
     59
     60(compile -s -O2 -d1 "iup.scm" ,@modules ,@native-libraries)
     61(compile -c -O2 -d1 "iup.scm" -unit iup)
     62(compile -s -O2 -d0 "iup.import.scm")
     63(compile -s -O2 -d0 "iup-base.import.scm")
     64(compile -s -O2 -d0 "iup-controls.import.scm")
     65(compile -s -O2 -d0 "iup-dialogs.import.scm")
     66
    267(cond-expand
    3  [no-library-checks
    4         (define-syntax check-libraries
    5                 (syntax-rules ()
    6                         [(check-libraries [lib fun] ...)
    7                          #t]))]
     68 [disable-iup-glcanvas]
    869 [else
    9         (define-syntax check-libraries
    10                 (syntax-rules ()
    11                         [(check-libraries [lib fun] ...)
    12                          (and (find-library lib fun) ...)]))])
     70        (compile -s -O2 -d0 "iup-glcanvas.import.scm")])
     71(cond-expand
     72 [disable-iup-pplot]
     73 [else
     74        (compile -s -O2 -d0 "iup-pplot.import.scm")])
     75(cond-expand
     76 [disable-iup-web]
     77 [else
     78        (compile -s -O2 -d0 "iup-web.import.scm")])
    1379
    14 (if (check-libraries
    15                   ["callback" "alloc_trampoline_r"]
    16                         ["iup" "IupOpen"]
    17                         ["iupim" "IupLoadImage"]
    18                         ["iupimglib" "IupImageLibOpen"])
    19         (begin
    20                 (compile -s -O2 -d1 "iup-base.scm" -j iup-base "-lcallback -liup -liupim -liupimglib")
    21                 (compile -c -O2 -d1 "iup-base.scm" -j iup-base -unit iup-base)
    22                 (compile -s -O2 -d0 "iup-base.import.scm")
    23                
    24                 (install-extension
    25                  'iup-base
    26                  '("iup-base.so" "iup-base.o" "iup-base.import.so" "iup-types.scm")
    27                  '((version 1.0.3)
    28                          (static "iup-base.o")
    29                          (static-options "-lcallback -liup -liupim -liupimglib")))
    30                
    31                 (compile -s -O2 -d1 "iup-controls.scm" -j iup-controls "-liup -liupcontrols")
    32                 (compile -c -O2 -d1 "iup-controls.scm" -j iup-controls -unit iup-controls)
    33                 (compile -s -O2 -d0 "iup-controls.import.scm")
    34                
    35                 (install-extension
    36                  'iup-controls
    37                  '("iup-controls.so" "iup-controls.o" "iup-controls.import.so")
    38                  '((version 1.0.3)
    39                          (static "iup-controls.o")
    40                          (static-options "-liup -liupcontrols")))
    41                
    42                 (compile -s -O2 -d1 "iup-dialogs.scm" -j iup-dialogs "-liup")
    43                 (compile -c -O2 -d1 "iup-dialogs.scm" -j iup-dialogs -unit iup-dialogs)
    44                 (compile -s -O2 -d0 "iup-dialogs.import.scm")
    45                
    46                 (install-extension
    47                  'iup-dialogs
    48                  '("iup-dialogs.so" "iup-dialogs.o" "iup-dialogs.import.so")
    49                  '((version 1.0.3)
    50                          (static "iup-dialogs.o")
    51                          (static-options "-liup")))
    52                
    53                 (if (check-libraries ["iupgl" "IupGLCanvasOpen"])
    54                         (begin
    55                                 (compile -s -O2 -d1 "iup-glcanvas.scm" -j iup-glcanvas "-liup -liupgl")
    56                                 (compile -c -O2 -d1 "iup-glcanvas.scm" -j iup-glcanvas -unit iup-glcanvas)
    57                                 (compile -s -O2 -d0 "iup-glcanvas.import.scm")
    58                                
    59                                 (install-extension
    60                                  'iup-glcanvas
    61                                  '("iup-glcanvas.so" "iup-glcanvas.o" "iup-glcanvas.import.so")
    62                                  '((version 1.0.3)
    63                                          (static "iup-glcanvas.o")
    64                                          (static-options "-liup -liupgl"))))
    65                         (warning "IUP GLCanvas not found, some bindings cannot be compiled"))
    66                
    67                 (if (check-libraries ["iup_pplot" "IupPPlotOpen"])
    68                         (begin
    69                                 (compile -s -O2 -d1 "iup-pplot.scm" -j iup-pplot "-liup -liup_pplot")
    70                                 (compile -c -O2 -d1 "iup-pplot.scm" -j iup-pplot -unit iup-pplot)
    71                                 (compile -s -O2 -d0 "iup-pplot.import.scm")
    72                                
    73                                 (install-extension
    74                                  'iup-pplot
    75                                  '("iup-pplot.so" "iup-pplot.o" "iup-pplot.import.so")
    76                                  '((version 1.0.3)
    77                                          (static "iup-pplot.o")
    78                                          (static-options "-liup -liup_pplot"))))
    79                         (warning "IUP PPlot not found, some bindings cannot be compiled"))
    80 
    81                 (if (check-libraries ["iupweb" "IupWebBrowserOpen"])
    82                         (begin
    83                                 (compile -s -O2 -d1 "iup-web.scm" -j iup-web "-liup -liupweb")
    84                                 (compile -c -O2 -d1 "iup-web.scm" -j iup-web -unit iup-web)
    85                                 (compile -s -O2 -d0 "iup-web.import.scm")
    86                                
    87                                 (install-extension
    88                                  'iup-web
    89                                  '("iup-web.so" "iup-web.o" "iup-web.import.so")
    90                                  '((version 1.0.3)
    91                                          (static "iup-web.o")
    92                                          (static-options "-liup -liupweb"))))
    93                         (warning "IUP Web not found, some bindings cannot be compiled"))
    94                
    95                 (compile -s -O2 -d1 "iup.scm" -j iup)
    96                 (compile -c -O2 -d1 "iup.scm" -j iup -unit iup)
    97                 (compile -s -O2 -d0 "iup.import.scm")
    98                
    99                 (install-extension
    100                  'iup
    101                  '("iup.so" "iup.o" "iup.import.so")
    102                  '((version 1.0.3)
    103                          (static "iup.o"))))
    104         (warning "IUP or ffcall not found, none of the bindings can be compiled"))
     80(install-extension
     81 'iup
     82 `("iup.so" "iup.o" "iup-types.scm" ,@import-libraries)
     83 `((version 1.1.0)
     84         (static "iup-base.o")
     85         (static-options ,(string-intersperse native-libraries))))
    10586
    10687(compile -s -O2 -d1 "iup-dynamic.scm" -j iup-dynamic)
     
    11192 'iup-dynamic
    11293 '("iup-dynamic.so" "iup-dynamic.o" "iup-dynamic.import.so")
    113  '((version 1.0.3)
     94 '((version 1.1.0)
    11495   (static "iup-dynamic.o")))
Note: See TracChangeset for help on using the changeset viewer.