DELETED canvas-draw/canvas-draw-base.scm Index: canvas-draw/canvas-draw-base.scm ================================================================== --- canvas-draw/canvas-draw-base.scm +++ /dev/null @@ -1,524 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n") - -(define *canvas-tag* "cdCanvas") -(define canvas? (cut tagged-pointer? <> *canvas-tag*)) - -(define (canvas->pointer nonnull?) - (if nonnull? - (lambda (canvas) - (ensure canvas? canvas) - canvas) - (lambda (canvas) - (ensure (disjoin not canvas?) canvas) - canvas))) - -(define (pointer->canvas nonnull?) - (if nonnull? - (lambda (canvas) - (tag-pointer canvas *canvas-tag*)) - (lambda (canvas) - (and canvas (tag-pointer canvas *canvas-tag*))))) - -(define *context-tag* "cdContext") -(define context? (cut tagged-pointer? <> *context-tag*)) - -(define (context->pointer nonnull?) - (if nonnull? - (lambda (context) - (ensure context? context) - context) - (lambda (context) - (ensure (disjoin not context?) context) - context))) - -(define (pointer->context nonnull?) - (if nonnull? - (lambda (context) - (tag-pointer context *context-tag*)) - (lambda (context) - (and context (tag-pointer context *context-tag*))))) - -(define *state-tag* "cdState") -(define state? (cut tagged-pointer? <> *state-tag*)) - -(define (state->pointer nonnull?) - (if nonnull? - (lambda (state) - (ensure state? state) - state) - (lambda (state) - (ensure (disjoin not state?) state) - state))) - -(define (pointer->state nonnull?) - (if nonnull? - (lambda (state) - (tag-pointer state *state-tag*)) - (lambda (state) - (and state (tag-pointer state *state-tag*))))) - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Canvas management - -(define context-capabilities - (letrec ([context-capabilities/raw - (foreign-lambda int "cdContextCaps" nonnull-context)] - [capabilities - (list - (cons - 'flush - (foreign-value "CD_CAP_FLUSH" int)) - (cons - 'clear - (foreign-value "CD_CAP_CLEAR" int)) - (cons - 'play - (foreign-value "CD_CAP_PLAY" int)) - (cons - 'y-axis - (foreign-value "CD_CAP_YAXIS" int)) - (cons - 'clip-area - (foreign-value "CD_CAP_CLIPAREA" int)) - (cons - 'clip-polygon - (foreign-value "CD_CAP_CLIPPOLY" int)) - (cons - 'region - (foreign-value "CD_CAP_REGION" int)) - (cons - 'rectangle - (foreign-value "CD_CAP_RECT" int)) - (cons - 'chord - (foreign-value "CD_CAP_CHORD" int)) - (cons - 'image/rgb - (foreign-value "CD_CAP_IMAGERGB" int)) - (cons - 'image/rgba - (foreign-value "CD_CAP_IMAGERGBA" int)) - (cons - 'image/map - (foreign-value "CD_CAP_IMAGEMAP" int)) - (cons - 'get-image/rgb - (foreign-value "CD_CAP_GETIMAGERGB" int)) - (cons - 'image/server - (foreign-value "CD_CAP_IMAGESRV" int)) - (cons - 'background - (foreign-value "CD_CAP_BACKGROUND" int)) - (cons - 'background-opacity - (foreign-value "CD_CAP_BACKOPACITY" int)) - (cons - 'write-mode - (foreign-value "CD_CAP_WRITEMODE" int)) - (cons - 'line-style - (foreign-value "CD_CAP_LINESTYLE" int)) - (cons - 'line-width - (foreign-value "CD_CAP_LINEWITH" int)) - (cons - 'fprimtives - (foreign-value "CD_CAP_FPRIMTIVES" int)) - (cons - 'hatch - (foreign-value "CD_CAP_HATCH" int)) - (cons - 'stipple - (foreign-value "CD_CAP_STIPPLE" int)) - (cons - 'pattern - (foreign-value "CD_CAP_PATTERN" int)) - (cons - 'font - (foreign-value "CD_CAP_FONT" int)) - (cons - 'font-dimensions - (foreign-value "CD_CAP_FONTDIM" int)) - (cons - 'text-size - (foreign-value "CD_CAP_TEXTSIZE" int)) - (cons - 'text-orientation - (foreign-value "CD_CAP_TEXTORIENTATION" int)) - (cons - 'palette - (foreign-value "CD_CAP_PALETTE" int)) - (cons - 'line-cap - (foreign-value "CD_CAP_LINECAP" int)) - (cons - 'line-join - (foreign-value "CD_CAP_LINEJOIN" int)) - (cons - 'path - (foreign-value "CD_CAP_PATH" int)) - (cons - 'bezier - (foreign-value "CD_CAP_BEZIER" int)))]) - (lambda (context) - (let ([capabilities/raw (context-capabilities/raw context)]) - (filter-map - (lambda (info) - (let ([mask (cdr info)]) - (and (= (bitwise-and mask capabilities/raw) mask) (car info)))) - capabilities))))) - -(define use-context+ - (make-parameter #f)) - -(define make-canvas/ptr - (foreign-lambda* canvas ([nonnull-context context] [bool plus] [c-pointer data]) - "cdUseContextPlus(plus);\n" - "C_return(cdCreateCanvas(context, data));")) - -(define make-canvas/string - (foreign-lambda* canvas ([nonnull-context context] [bool plus] [c-string data]) - "cdUseContextPlus(plus);\n" - "C_return(cdCreateCanvas(context, (void *)data));")) - -(define canvas-kill! - (foreign-lambda void "cdKillCanvas" nonnull-canvas)) - -(define canvas-activate! - (foreign-lambda void "cdCanvasActivate" nonnull-canvas)) - -(define canvas-deactivate! - (foreign-lambda void "cdCanvasDeactivate" nonnull-canvas)) - -(define (make-canvas context data) - (let ([make-canvas/data (if (string? data) make-canvas/string make-canvas/ptr)]) - (cond - [(make-canvas/data context (use-context+) data) - => (cut set-finalizer! <> canvas-kill!)] - [else - (error 'make-canvas "failed to create canvas")]))) - -(define call-with-canvas - (case-lambda - [(canvas proc) - (dynamic-wind - (cut canvas-activate! canvas) - (cut proc canvas) - (cut canvas-deactivate! canvas))] - [(context data proc) - (let* ([make-canvas/data (if (string? data) make-canvas/string make-canvas/ptr)] - [canvas (make-canvas/data context (use-context+) data)]) - (unless canvas (error 'call-with-canvas "failed to create canvas")) - (dynamic-wind - (cut canvas-activate! canvas) - (cut proc canvas) - (lambda () - (when canvas - (canvas-kill! canvas) - (set! canvas #f)))))])) - -(define canvas-context - (foreign-lambda nonnull-context "cdCanvasGetContext" nonnull-canvas)) - -(define canvas-simulate! - (letrec ([canvas-simulate/raw! - (foreign-lambda int "cdCanvasSimulate" nonnull-canvas int)] - [flags - (list - (cons - 'line - (foreign-value "CD_SIM_LINE" int)) - (cons - 'rectangle - (foreign-value "CD_SIM_RECT" int)) - (cons - 'box - (foreign-value "CD_SIM_BOX" int)) - (cons - 'arc - (foreign-value "CD_SIM_ARC" int)) - (cons - 'sector - (foreign-value "CD_SIM_SECTOR" int)) - (cons - 'chord - (foreign-value "CD_SIM_CHORD" int)) - (cons - 'polyline - (foreign-value "CD_SIM_POLYLINE" int)) - (cons - 'polygon - (foreign-value "CD_SIM_POLYGON" int)) - (cons - 'text - (foreign-value "CD_SIM_TEXT" int)) - (cons - 'all - (foreign-value "CD_SIM_ALL" int)) - (cons - 'lines - (foreign-value "CD_SIM_LINES" int)) - (cons - 'fills - (foreign-value "CD_SIM_FILLS" int)))]) - (lambda (canvas flags-in) - (let ([flags-out - (canvas-simulate/raw! - canvas - (fold - bitwise-ior 0 - (map - (lambda (flag) - (cond - [(assq flag flags) => cdr] - [else (error 'canvas-simulate! "unknown flag" flag)])) - flags-in)))]) - (filter-map - (lambda (info) - (let ([mask (cdr info)]) - (and (= (bitwise-and mask flags-out) mask) (car info)))) - flags))))) - -(define (name->string name) - (cond - [(symbol? name) - (string-upcase (string-translate (symbol->string name) #\- #\_))] - [else - name])) - -(define canvas-attribute-set! - (letrec ([canvas-attribute-set/raw! (foreign-lambda void "cdCanvasSetAttribute" nonnull-canvas nonnull-c-string c-string)]) - (lambda (canvas name value) - (canvas-attribute-set/raw! canvas (name->string name) value)))) - -(define canvas-attribute - (letrec ([canvas-attribute/raw (foreign-lambda c-string "cdCanvasGetAttribute" nonnull-canvas nonnull-c-string)]) - (getter-with-setter - (lambda (canvas name) - (canvas-attribute/raw canvas (name->string name))) - canvas-attribute-set!))) - -(define canvas-state-set! - (foreign-lambda void "cdCanvasRestoreState" nonnull-canvas nonnull-state)) - -(define canvas-state - (letrec ([save-state (foreign-lambda nonnull-state "cdCanvasSaveState" nonnull-canvas)] - [release-state! (foreign-lambda void "cdReleaseState" nonnull-state)]) - (getter-with-setter - (lambda (canvas) - (set-finalizer! (save-state canvas) release-state!)) - canvas-state-set!))) - -(define canvas-clear! - (foreign-lambda void "cdCanvasClear" nonnull-canvas)) - -(define canvas-flush - (foreign-lambda void "cdCanvasFlush" nonnull-canvas)) - -;; }}} - -;; {{{ Coordinate system - -(define canvas-size - (letrec ([canvas-size/raw (foreign-lambda void "cdCanvasGetSize" nonnull-canvas (c-pointer int) (c-pointer int) (c-pointer double) (c-pointer double))]) - (lambda (canvas) - (let-location ([width/px int 0] [height/px int 0] - [width/mm double 0] [height/mm double 0]) - (canvas-size/raw - canvas - (location width/px) (location height/px) - (location width/mm) (location height/mm)) - (values - width/px height/px - width/mm height/mm))))) - -(define canvas-mm->px - (letrec ([canvas-mm->px/raw (foreign-lambda void "cdCanvasMM2Pixel" nonnull-canvas double double (c-pointer int) (c-pointer int))]) - (lambda (canvas x/mm y/mm) - (let-location ([x/px int 0] [y/px int 0]) - (canvas-mm->px/raw canvas x/mm y/mm (location x/px) (location y/px)) - (values x/px y/px))))) - -(define canvas-px->mm - (letrec ([canvas-mm->px/raw (foreign-lambda void "cdCanvasPixel2MM" nonnull-canvas int int (c-pointer double) (c-pointer double))]) - (lambda (canvas x/px y/px) - (let-location ([x/mm double +nan.0] [y/mm double +nan.0]) - (canvas-mm->px/raw canvas x/px y/px (location x/mm) (location y/mm)) - (values x/mm y/mm))))) - -(define canvas-origin-set! - (foreign-lambda void "cdCanvasOrigin" nonnull-canvas int int)) - -(define canvas-origin - (letrec ([canvas-origin/raw (foreign-lambda void "cdCanvasGetOrigin" nonnull-canvas (c-pointer int) (c-pointer int))]) - (lambda (canvas) - (let-location ([x int 0] [y int 0]) - (canvas-origin/raw canvas (location x) (location y)) - (values x y))))) - -(define (transform->f64vector proc) - (let ([v (make-f64vector 6)]) - (let-values ([(dx dy) (proc 0 0)]) - (f64vector-set! v 4 dx) - (f64vector-set! v 5 dy) - (let-values ([(x y) (proc 1 0)]) - (f64vector-set! v 0 (- x dx)) - (f64vector-set! v 1 (- y dy))) - (let-values ([(x y) (proc 0 1)]) - (f64vector-set! v 2 (- x dx)) - (f64vector-set! v 3 (- y dy)))) - v)) - -(define ((f64vector->transform v) x y) - (values - (+ (* (f64vector-ref v 0) x) (* (f64vector-ref v 2) y) (f64vector-ref v 4)) - (+ (* (f64vector-ref v 1) x) (* (f64vector-ref v 3) y) (f64vector-ref v 5)))) - -(define canvas-transform-set! - (letrec ([canvas-transform-set/raw! (foreign-lambda void "cdCanvasTransform" nonnull-canvas f64vector)]) - (lambda (canvas proc) - (canvas-transform-set/raw! canvas (and proc (transform->f64vector proc)))))) - -(define canvas-transform - (letrec ([canvas-transform/raw - (foreign-lambda* bool ([nonnull-canvas canvas] [nonnull-f64vector v]) - "double *w = cdCanvasGetTransform(canvas);\n" - "if (w) memcpy(v, w, 6 * sizeof(double));\n" - "C_return(w);")]) - (getter-with-setter - (lambda (canvas) - (let ([v (make-f64vector 6)]) - (and (canvas-transform/raw canvas v) (f64vector->transform v)))) - canvas-transform-set!))) - -(define canvas-transform-compose! - (letrec ([canvas-transform-compose/raw! (foreign-lambda void "cdCanvasTransformMultiply" nonnull-canvas nonnull-f64vector)]) - (lambda (canvas proc) - (canvas-transform-compose/raw! canvas (transform->f64vector proc))))) - -(define canvas-transform-translate! - (foreign-lambda void "cdCanvasTransformTranslate" nonnull-canvas double double)) - -(define canvas-transform-scale! - (foreign-lambda void "cdCanvasTransformScale" nonnull-canvas double double)) - -(define canvas-transform-rotate! - (foreign-lambda void "cdCanvasTransformRotate" nonnull-canvas double)) - -;; }}} - -;; {{{ General attributes - -(define canvas-foreground-set! - (foreign-lambda void "cdCanvasSetForeground" nonnull-canvas unsigned-long)) - -(define canvas-foreground - (getter-with-setter - (foreign-lambda* unsigned-long ([nonnull-canvas canvas]) - "C_return(cdCanvasForeground(canvas, CD_QUERY));") - canvas-foreground-set!)) - -(define canvas-background-set! - (foreign-lambda void "cdCanvasSetBackground" nonnull-canvas unsigned-long)) - -(define canvas-background - (getter-with-setter - (foreign-lambda* unsigned-long ([nonnull-canvas canvas]) - "C_return(cdCanvasBackground(canvas, CD_QUERY));") - canvas-background-set!)) - -(define-values (canvas-write-mode canvas-write-mode-set!) - (letrec ([write-modes - (list - (cons - 'replace - (foreign-value "CD_REPLACE" int)) - (cons - 'xor - (foreign-value "CD_XOR" int)) - (cons - 'not-xor - (foreign-value "CD_NOT_XOR" int)))] - [canvas-write-mode-set/raw! - (foreign-lambda void "cdCanvasWriteMode" nonnull-canvas int)] - [canvas-write-mode-set! - (lambda (canvas write-mode) - (canvas-write-mode-set/raw! - canvas - (cond - [(assq write-mode write-modes) => cdr] - [else (error 'canvas-write-mode-set! "unknown write mode" write-mode)])))] - [canvas-write-mode/raw - (foreign-lambda* int ([nonnull-canvas canvas]) - "C_return(cdCanvasWriteMode(canvas, CD_QUERY));")] - [canvas-write-mode - (lambda (canvas) - (let ([write-mode (canvas-write-mode/raw canvas)]) - (cond - [(rassoc write-mode write-modes) => car] - [else (error 'canvas-write-mode "unknown write mode" write-mode)])))]) - (values - (getter-with-setter canvas-write-mode canvas-write-mode-set!) - canvas-write-mode-set!))) - -;; }}} - -;; {{{ Clipping - -(define-values (canvas-clip-mode canvas-clip-mode-set!) - (letrec ([clip-modes - (list - (cons - 'area - (foreign-value "CD_CLIPAREA" int)) - (cons - 'polygon - (foreign-value "CD_CLIPPOLYGON" int)) - (cons - 'region - (foreign-value "CD_CLIPREGION" int)) - (cons - #f - (foreign-value "CD_CLIPOFF" int)))] - [canvas-clip-mode-set/raw! - (foreign-lambda void "cdCanvasClip" nonnull-canvas int)] - [canvas-clip-mode-set! - (lambda (canvas clip-mode) - (canvas-clip-mode-set/raw! - canvas - (cond - [(assq clip-mode clip-modes) => cdr] - [else (error 'canvas-clip-mode-set! "unknown clip mode" clip-mode)])))] - [canvas-clip-mode/raw - (foreign-lambda* int ([nonnull-canvas canvas]) - "C_return(cdCanvasClip(canvas, CD_QUERY));")] - [canvas-clip-mode - (lambda (canvas) - (let ([clip-mode (canvas-clip-mode/raw canvas)]) - (cond - [(rassoc clip-mode clip-modes) => car] - [else (error 'canvas-write-mode "unknown clip mode" clip-mode)])))]) - (values - (getter-with-setter canvas-clip-mode canvas-clip-mode-set!) - canvas-clip-mode-set!))) - -(define canvas-clip-area-set! - (foreign-lambda void "cdfCanvasClipArea" nonnull-canvas double double double double)) - -(define canvas-clip-area - (letrec ([canvas-clip-area/raw (foreign-lambda void "cdfCanvasGetClipArea" nonnull-canvas (c-pointer double) (c-pointer double) (c-pointer double) (c-pointer double))]) - (lambda (canvas) - (let-location ([x0 double 0] [x1 double 0] [y0 double 0] [y1 double 0]) - (canvas-clip-area/raw canvas (location x0) (location x1) (location y0) (location y1)) - (values x0 x1 y0 y1))))) - -;; }}} DELETED canvas-draw/canvas-draw-cgm.scm Index: canvas-draw/canvas-draw-cgm.scm ================================================================== --- canvas-draw/canvas-draw-cgm.scm +++ /dev/null @@ -1,18 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:cgm - (foreign-value "CD_CGM" nonnull-context)) - -;; }}} DELETED canvas-draw/canvas-draw-client.scm Index: canvas-draw/canvas-draw-client.scm ================================================================== --- canvas-draw/canvas-draw-client.scm +++ /dev/null @@ -1,102 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:image - (foreign-value "CD_IMAGERGB" nonnull-context)) - -(define context:double-buffer - (foreign-value "CD_DBUFFERRGB" nonnull-context)) - -;; }}} - -;; {{{ Auxiliary functions - -(define canvas-image-put/rgb! - (letrec ([canvas-image-set/rgb/raw! - (foreign-lambda* void ([nonnull-canvas canvas] [int dst_x] [int dst_y] - [int src_width] [int src_height] [nonnull-blob data] - [int dst_width] [int dst_height] - [int src_x0] [int src_x1] [int src_y0] [int src_y1]) - "const int nchans = 3;\n" - "unsigned char chans[nchans][src_width * src_height];\n" - "int i;\n" - "\n" - "for (i = 0; i < nchans * src_width * src_height; ++i)\n" - " chans[i % nchans][i / nchans] = data[i];\n" - "\n" - "cdCanvasPutImageRectRGB(\n" - " canvas, src_width, src_height,\n" - " chans[0], chans[1], chans[2],\n" - " dst_x, dst_y, dst_width, dst_height," - " src_x0, src_x1, src_y0, src_y1" - ");")]) - (lambda (canvas dst-x dst-y src-width src-height data - #!key [width 0] [height 0] [x0 0] [x1 0] [y0 0] [y1 0]) - (unless (= (blob-size data) (* 3 src-width src-height)) - (error 'canvas-image-set/rgb! "bad image size" (blob-size data) (* 3 src-width src-height))) - (canvas-image-set/rgb/raw! - canvas dst-x dst-y src-width src-height data - width height x0 x1 y0 y1)))) - -(define canvas-image-put/rgba! - (letrec ([canvas-image-set/rgba/raw! - (foreign-lambda* void ([nonnull-canvas canvas] [int dst_x] [int dst_y] - [int src_width] [int src_height] [nonnull-blob data] - [int dst_width] [int dst_height] - [int src_x0] [int src_x1] [int src_y0] [int src_y1]) - "const int nchans = 4;\n" - "unsigned char chans[nchans][src_width * src_height];\n" - "int i;\n" - "\n" - "for (i = 0; i < nchans * src_width * src_height; ++i)\n" - " chans[i % nchans][i / nchans] = data[i];\n" - "\n" - "cdCanvasPutImageRectRGBA(\n" - " canvas, src_width, src_height,\n" - " chans[0], chans[1], chans[2], chans[3],\n" - " dst_x, dst_y, dst_width, dst_height," - " src_x0, src_x1, src_y0, src_y1" - ");")]) - (lambda (canvas dst-x dst-y src-width src-height data - #!key [width 0] [height 0] [x0 0] [x1 0] [y0 0] [y1 0]) - (unless (= (blob-size data) (* 4 src-width src-height)) - (error 'canvas-image-set/rgba! "bad image size" (blob-size data) (* 4 src-width src-height))) - (canvas-image-set/rgba/raw! - canvas dst-x dst-y src-width src-height data - width height x0 x1 y0 y1)))) - -(define canvas-image/rgb - (getter-with-setter - (letrec ([canvas-image/rgb/raw - (foreign-lambda* void ([nonnull-canvas canvas] [int x] [int y] - [int width] [int height] [nonnull-blob data]) - "const int nchans = 3;\n" - "unsigned char chans[nchans][width * height];\n" - "int i;\n" - "\n" - "cdCanvasGetImageRGB(\n" - " canvas,\n" - " chans[0], chans[1], chans[2],\n" - " x, y, width, height\n" - ");\n" - "\n" - "for (i = 0; i < nchans * width * height; ++i)\n" - " data[i] = chans[i % nchans][i / nchans];\n")]) - (lambda (canvas x y width height) - (let ([data (make-blob (* 3 width height))]) - (canvas-image/rgb/raw canvas x y width height data) - data))) - canvas-image-put/rgb!)) - -;; }}} DELETED canvas-draw/canvas-draw-clipboard.scm Index: canvas-draw/canvas-draw-clipboard.scm ================================================================== --- canvas-draw/canvas-draw-clipboard.scm +++ /dev/null @@ -1,18 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:clipboard - (foreign-value "CD_CLIPBOARD" nonnull-context)) - -;; }}} DELETED canvas-draw/canvas-draw-debug.scm Index: canvas-draw/canvas-draw-debug.scm ================================================================== --- canvas-draw/canvas-draw-debug.scm +++ /dev/null @@ -1,18 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:debug - (foreign-value "CD_DEBUG" nonnull-context)) - -;; }}} DELETED canvas-draw/canvas-draw-dgn.scm Index: canvas-draw/canvas-draw-dgn.scm ================================================================== --- canvas-draw/canvas-draw-dgn.scm +++ /dev/null @@ -1,18 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:dgn - (foreign-value "CD_DGN" nonnull-context)) - -;; }}} DELETED canvas-draw/canvas-draw-dxf.scm Index: canvas-draw/canvas-draw-dxf.scm ================================================================== --- canvas-draw/canvas-draw-dxf.scm +++ /dev/null @@ -1,18 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:dxf - (foreign-value "CD_DXF" nonnull-context)) - -;; }}} DELETED canvas-draw/canvas-draw-emf.scm Index: canvas-draw/canvas-draw-emf.scm ================================================================== --- canvas-draw/canvas-draw-emf.scm +++ /dev/null @@ -1,18 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:emf - (foreign-value "CD_EMF" nonnull-context)) - -;; }}} DELETED canvas-draw/canvas-draw-gl.scm Index: canvas-draw/canvas-draw-gl.scm ================================================================== --- canvas-draw/canvas-draw-gl.scm +++ /dev/null @@ -1,18 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:gl - (foreign-value "CD_GL" nonnull-context)) - -;; }}} DELETED canvas-draw/canvas-draw-iup.scm Index: canvas-draw/canvas-draw-iup.scm ================================================================== --- canvas-draw/canvas-draw-iup.scm +++ /dev/null @@ -1,33 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:iup - (foreign-value "CD_IUP" nonnull-context)) - -;; }}} - -;; {{{ Auxiliary functions - -(define (make-canvas-action proc) - (let ([canvas #f]) - (lambda (handle x y) - (unless canvas (set! canvas (make-canvas context:iup handle))) - (call-with-canvas canvas (cut proc <> x y))))) - -(define (make-cells-draw-cb proc) - (let ([wrap (pointer->canvas #t)]) - (lambda (handle i j x-min x-max y-min y-max canvas) - (call-with-canvas (wrap canvas) (cut proc handle i j x-min x-max y-min y-max <>))))) - -;; }}} DELETED canvas-draw/canvas-draw-metafile.scm Index: canvas-draw/canvas-draw-metafile.scm ================================================================== --- canvas-draw/canvas-draw-metafile.scm +++ /dev/null @@ -1,18 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:metafile - (foreign-value "CD_METAFILE" nonnull-context)) - -;; }}} DELETED canvas-draw/canvas-draw-native.scm Index: canvas-draw/canvas-draw-native.scm ================================================================== --- canvas-draw/canvas-draw-native.scm +++ /dev/null @@ -1,40 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:native-window - (foreign-value "CD_NATIVEWINDOW" nonnull-context)) - -;; }}} - -;; {{{ Auxiliary functions - -(define screen-size - (letrec ([screen-size/raw (foreign-lambda void "cdGetScreenSize" (c-pointer int) (c-pointer int) (c-pointer double) (c-pointer double))]) - (lambda () - (let-location ([width/px int 0] [height/px int 0] - [width/mm double 0] [height/mm double 0]) - (screen-size/raw - (location width/px) (location height/px) - (location width/mm) (location height/mm)) - (values - width/px height/px - width/mm height/mm))))) - -;; }}} - -;; {{{ Library initialization - -(foreign-code "cdInitContextPlus();") - -;; }}} DELETED canvas-draw/canvas-draw-pdf.scm Index: canvas-draw/canvas-draw-pdf.scm ================================================================== --- canvas-draw/canvas-draw-pdf.scm +++ /dev/null @@ -1,18 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:pdf - (foreign-value "CD_PDF" nonnull-context)) - -;; }}} DELETED canvas-draw/canvas-draw-picture.scm Index: canvas-draw/canvas-draw-picture.scm ================================================================== --- canvas-draw/canvas-draw-picture.scm +++ /dev/null @@ -1,18 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:picture - (foreign-value "CD_PICTURE" nonnull-context)) - -;; }}} DELETED canvas-draw/canvas-draw-play.scm Index: canvas-draw/canvas-draw-play.scm ================================================================== --- canvas-draw/canvas-draw-play.scm +++ /dev/null @@ -1,25 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context content playback - -(define canvas-play/ptr! - (foreign-lambda int "cdCanvasPlay" nonnull-canvas nonnull-context int int int int c-pointer)) - -(define canvas-play/string! - (foreign-lambda int "cdCanvasPlay" nonnull-canvas nonnull-context int int int int c-string)) - -(define (canvas-play! canvas context x0 x1 y0 y1 data) - (let ([canvas-play/data! (if (string? data) canvas-play/string! canvas-play/ptr!)]) - (unless (zero? (canvas-play/data! canvas context x0 x1 y0 y1 data)) - (error 'canvas-play! "failed to replay graphics")))) - -;; }}} DELETED canvas-draw/canvas-draw-primitives.scm Index: canvas-draw/canvas-draw-primitives.scm ================================================================== --- canvas-draw/canvas-draw-primitives.scm +++ /dev/null @@ -1,713 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Point drawing functions - -(define canvas-pixel! - (letrec ([canvas-pixel/raw! - (foreign-lambda void "cdCanvasPixel" nonnull-canvas int int unsigned-long)]) - (lambda (canvas x y #!optional [color (canvas-foreground canvas)]) - (canvas-pixel/raw! canvas x y color)))) - -(define canvas-mark! - (foreign-lambda void "cdCanvasMark" nonnull-canvas int int)) - -(define-values (canvas-mark-type canvas-mark-type-set!) - (letrec ([mark-types - (list - (cons - '+ - (foreign-value "CD_PLUS" int)) - (cons - 'plus - (foreign-value "CD_PLUS" int)) - (cons - '* - (foreign-value "CD_STAR" int)) - (cons - 'star - (foreign-value "CD_STAR" int)) - (cons - '0 - (foreign-value "CD_CIRCLE" int)) - (cons - 'circle - (foreign-value "CD_CIRCLE" int)) - (cons - 'O - (foreign-value "CD_HOLLOW_CIRCLE" int)) - (cons - 'hollow-circle - (foreign-value "CD_HOLLOW_CIRCLE" int)) - (cons - 'X - (foreign-value "CD_X" int)) - (cons - 'x - (foreign-value "CD_X" int)) - (cons - 'box - (foreign-value "CD_BOX" int)) - (cons - 'hollow-box - (foreign-value "CD_HOLLOW_BOX" int)) - (cons - 'diamond - (foreign-value "CD_DIAMOND" int)) - (cons - 'hollow-diamond - (foreign-value "CD_HOLLOW_DIAMOND" int)))] - [canvas-mark-type-set/raw! - (foreign-lambda void "cdCanvasMarkType" nonnull-canvas int)] - [canvas-mark-type-set! - (lambda (canvas mark-type) - (canvas-mark-type-set/raw! - canvas - (cond - [(assq mark-type mark-types) => cdr] - [else (error 'canvas-mark-type-set! "unknown mark type" mark-type)])))] - [canvas-mark-type/raw - (foreign-lambda* int ([nonnull-canvas canvas]) - "C_return(cdCanvasMarkType(canvas, CD_QUERY));")] - [canvas-mark-type - (lambda (canvas) - (let ([mark-type (canvas-mark-type/raw canvas)]) - (cond - [(rassoc mark-type mark-types) => car] - [else (error 'canvas-mark-type "unknown mark type" mark-type)])))]) - (values - (getter-with-setter canvas-mark-type canvas-mark-type-set!) - canvas-mark-type-set!))) - -(define canvas-mark-size-set! - (foreign-lambda void "cdCanvasMarkSize" nonnull-canvas int)) - -(define canvas-mark-size - (getter-with-setter - (foreign-lambda* int ([nonnull-canvas canvas]) - "C_return(cdCanvasMarkSize(canvas, CD_QUERY));") - canvas-mark-size-set!)) - -;; }}} - -;; {{{ Line functions - -(define canvas-line! - (foreign-lambda void "cdfCanvasLine" nonnull-canvas double double double double)) - -(define canvas-rectangle! - (foreign-lambda void "cdfCanvasRect" nonnull-canvas double double double double)) - -(define canvas-arc! - (foreign-lambda void "cdfCanvasArc" nonnull-canvas double double double double double double)) - -(define-values (canvas-line-style canvas-line-style-set!) - (letrec ([line-styles - (list - (cons - 'continuous - (foreign-value "CD_CONTINUOUS" int)) - (cons - 'dashed - (foreign-value "CD_DASHED" int)) - (cons - 'dotted - (foreign-value "CD_DOTTED" int)) - (cons - 'dash-dotted - (foreign-value "CD_DASH_DOT" int)) - (cons - 'dash-dot-dotted - (foreign-value "CD_DASH_DOT_DOT" int)) - (cons - 'custom - (foreign-value "CD_CUSTOM" int)))] - [canvas-line-style-set/raw! - (foreign-lambda void "cdCanvasLineStyle" nonnull-canvas int)] - [canvas-line-style-dashes-set/raw! - (foreign-lambda void "cdCanvasLineStyleDashes" nonnull-canvas nonnull-s32vector int)] - [canvas-line-style-set! - (lambda (canvas line-style) - (cond - [(and (pair? line-style) (eq? (car line-style) 'custom)) - (let ([dashes (list->s32vector (cdr line-style))]) - (canvas-line-style-dashes-set/raw! canvas dashes (s32vector-length dashes)) - (canvas-line-style-set/raw! canvas (cdr (assq 'custom line-styles))))] - [else - (canvas-line-style-set/raw! - canvas - (cond - [(assq line-style line-styles) => cdr] - [else (error 'canvas-line-style-set! "unknown line style" line-style)]))]))] - [canvas-line-style/raw - (foreign-lambda* int ([nonnull-canvas canvas]) - "C_return(cdCanvasLineStyle(canvas, CD_QUERY));")] - [canvas-line-style - (lambda (canvas) - (let ([line-style (canvas-line-style/raw canvas)]) - (cond - [(rassoc line-style line-styles) => car] - [else (error 'canvas-line-style "unknown line style" line-style)])))]) - (values - (getter-with-setter canvas-line-style canvas-line-style-set!) - canvas-line-style-set!))) - -(define canvas-line-width-set! - (foreign-lambda int "cdCanvasLineWidth" nonnull-canvas int)) - -(define canvas-line-width - (getter-with-setter - (foreign-lambda* int ([nonnull-canvas canvas]) - "C_return(cdCanvasLineWidth(canvas, CD_QUERY));") - canvas-line-width-set!)) - -(define-values (canvas-line-join canvas-line-join-set!) - (letrec ([line-joins - (list - (cons - 'miter - (foreign-value "CD_MITER" int)) - (cons - 'bevel - (foreign-value "CD_BEVEL" int)) - (cons - 'round - (foreign-value "CD_ROUND" int)))] - [canvas-line-join-set/raw! - (foreign-lambda void "cdCanvasLineJoin" nonnull-canvas int)] - [canvas-line-join-set! - (lambda (canvas line-join) - (canvas-line-join-set/raw! - canvas - (cond - [(assq line-join line-joins) => cdr] - [else (error 'canvas-line-join-set! "unknown line join" line-join)])))] - [canvas-line-join/raw - (foreign-lambda* int ([nonnull-canvas canvas]) - "C_return(cdCanvasLineJoin(canvas, CD_QUERY));")] - [canvas-line-join - (lambda (canvas) - (let ([line-join (canvas-line-join/raw canvas)]) - (cond - [(rassoc line-join line-joins) => car] - [else (error 'canvas-line-join "unknown line join" line-join)])))]) - (values - (getter-with-setter canvas-line-join canvas-line-join-set!) - canvas-line-join-set!))) - -(define-values (canvas-line-cap canvas-line-cap-set!) - (letrec ([line-caps - (list - (cons - 'flat - (foreign-value "CD_CAPFLAT" int)) - (cons - 'square - (foreign-value "CD_CAPSQUARE" int)) - (cons - 'round - (foreign-value "CD_CAPROUND" int)))] - [canvas-line-cap-set/raw! - (foreign-lambda void "cdCanvasLineCap" nonnull-canvas int)] - [canvas-line-cap-set! - (lambda (canvas line-cap) - (canvas-line-cap-set/raw! - canvas - (cond - [(assq line-cap line-caps) => cdr] - [else (error 'canvas-line-cap-set! "unknown line cap" line-cap)])))] - [canvas-line-cap/raw - (foreign-lambda* int ([nonnull-canvas canvas]) - "C_return(cdCanvasLineCap(canvas, CD_QUERY));")] - [canvas-line-cap - (lambda (canvas) - (let ([line-cap (canvas-line-cap/raw canvas)]) - (cond - [(rassoc line-cap line-caps) => car] - [else (error 'canvas-line-cap "unknown line cap" line-cap)])))]) - (values - (getter-with-setter canvas-line-cap canvas-line-cap-set!) - canvas-line-cap-set!))) - -;; }}} - -;; {{{ Filled area functions - -(define canvas-box! - (foreign-lambda void "cdfCanvasBox" nonnull-canvas double double double double)) - -(define canvas-sector! - (foreign-lambda void "cdfCanvasSector" nonnull-canvas double double double double double double)) - -(define canvas-chord! - (foreign-lambda void "cdfCanvasChord" nonnull-canvas double double double double double double)) - -(define-values (canvas-background-opacity canvas-background-opacity-set!) - (letrec ([opacities - (list - (cons - 'opaque - (foreign-value "CD_OPAQUE" int)) - (cons - 'transparent - (foreign-value "CD_TRANSPARENT" int)))] - [canvas-background-opacity-set/raw! - (foreign-lambda void "cdCanvasBackOpacity" nonnull-canvas int)] - [canvas-background-opacity-set! - (lambda (canvas opacity) - (canvas-background-opacity-set/raw! - canvas - (cond - [(assq opacity opacities) => cdr] - [else (error 'canvas-background-opacity-set! "unknown line cap" opacity)])))] - [canvas-background-opacity/raw - (foreign-lambda* int ([nonnull-canvas canvas]) - "C_return(cdCanvasBackOpacity(canvas, CD_QUERY));")] - [canvas-background-opacity - (lambda (canvas) - (let ([opacity (canvas-background-opacity/raw canvas)]) - (cond - [(rassoc opacity opacities) => car] - [else (error 'canvas-background-opacity "unknown opacity" opacity)])))]) - (values - (getter-with-setter canvas-background-opacity canvas-background-opacity-set!) - canvas-background-opacity-set!))) - -(define-values (canvas-fill-mode canvas-fill-mode-set!) - (letrec ([fill-modes - (list - (cons - 'even-odd - (foreign-value "CD_EVENODD" int)) - (cons - 'winding - (foreign-value "CD_WINDING" int)))] - [canvas-fill-mode-set/raw! - (foreign-lambda void "cdCanvasFillMode" nonnull-canvas int)] - [canvas-fill-mode-set! - (lambda (canvas fill-mode) - (canvas-fill-mode-set/raw! - canvas - (cond - [(assq fill-mode fill-modes) => cdr] - [else (error 'canvas-fill-mode-set! "unknown fill mode" fill-mode)])))] - [canvas-fill-mode/raw - (foreign-lambda* int ([nonnull-canvas canvas]) - "C_return(cdCanvasFillMode(canvas, CD_QUERY));")] - [canvas-fill-mode - (lambda (canvas) - (let ([fill-mode (canvas-fill-mode/raw canvas)]) - (cond - [(rassoc fill-mode fill-modes) => car] - [else (error 'canvas-fill-mode "unknown fill mode" fill-mode)])))]) - (values - (getter-with-setter canvas-fill-mode canvas-fill-mode-set!) - canvas-fill-mode-set!))) - -(define-values (canvas-interior-style canvas-interior-style-set!) - (letrec ([interior-styles - (list - (cons - 'solid - (foreign-value "CD_SOLID" int)) - (cons - 'hollow - (foreign-value "CD_HOLLOW" int)) - (cons - 'hatch - (foreign-value "CD_HATCH" int)) - (cons - 'stipple - (foreign-value "CD_STIPPLE" int)) - (cons - 'pattern - (foreign-value "CD_PATTERN" int)))] - [hatch-styles - (list - (cons - 'horizontal - (foreign-value "CD_HORIZONTAL" int)) - (cons - 'vertical - (foreign-value "CD_VERTICAL" int)) - (cons - 'forward-diagonal - (foreign-value "CD_FDIAGONAL" int)) - (cons - 'backward-diagonal - (foreign-value "CD_BDIAGONAL" int)) - (cons - 'cross - (foreign-value "CD_CROSS" int)) - (cons - 'diagonal-cross - (foreign-value "CD_DIAGCROSS" int)))] - [canvas-hatch-style-set/raw! - (foreign-lambda int "cdCanvasHatch" nonnull-canvas int)] - [canvas-hatch-style/raw - (foreign-lambda* int ([nonnull-canvas canvas]) - "C_return(cdCanvasHatch(canvas, CD_QUERY));")] - [canvas-stipple-set/raw! - (foreign-lambda* void ([nonnull-canvas canvas] [int width] [int height] [nonnull-blob data]) - "unsigned char mask[width * height];\n" - "int i, j;\n" - "\n" - "for (j = 0; j < height; ++j) {\n" - " for (i = 0; i < width; ++i) {\n" - " const int ofs = (j * width) + i;\n" - " mask[ofs] = (data[ofs / 8] >> (ofs % 8)) & 1;\n" - " }\n" - "}\n" - "cdCanvasStipple(canvas, width, height, mask);\n")] - [canvas-stipple/raw - (foreign-lambda* void ([nonnull-canvas canvas] [(c-pointer int) pwidth] [(c-pointer int) pheight] [blob data]) - "unsigned char *mask = cdCanvasGetStipple(canvas, pwidth, pheight);\n" - "\n" - "if (data) {\n" - " int width = *pwidth, height = *pheight;\n" - " int i, j;\n" - " \n" - " for (j = 0; j < height; ++j) {\n" - " for (i = 0; i < width; ++i) {\n" - " const int ofs = (j * width) + i;\n" - " const int vofs = ofs / 8, bofs = ofs % 8;\n" - " const unsigned char bit = mask[ofs] & 1;\n" - " \n" - " if (bofs > 0)\n" - " data[vofs] |= bit << bofs;\n" - " else\n" - " data[vofs] = bit;\n" - " }\n" - " }\n" - "}\n")] - [canvas-pattern-set/rgb/raw! - (foreign-lambda* void ([nonnull-canvas canvas] [int width] [int height] [nonnull-blob data]) - "long color[width * height];\n" - "int i, j;\n" - "\n" - "for (j = 0; j < height; ++j) {\n" - " for (i = 0; i < width; ++i, data += 3) {\n" - " color[(j * width) + i] =\n" - " (data[0] << 16) | (data[1] << 8) | (data[2]);\n" - " }\n" - "}\n" - "cdCanvasPattern(canvas, width, height, color);\n")] - [canvas-pattern-set/rgba/raw! - (foreign-lambda* void ([nonnull-canvas canvas] [int width] [int height] [nonnull-blob data]) - "long color[width * height];\n" - "int i, j;\n" - "\n" - "for (j = 0; j < height; ++j) {\n" - " for (i = 0; i < width; ++i, data += 4) {\n" - " color[(j * width) + i] =\n" - " ((0xff - data[3]) << 24) | (data[0] << 16) | (data[1] << 8) | (data[2]);\n" - " }\n" - "}\n" - "cdCanvasPattern(canvas, width, height, color);\n")] - [canvas-pattern/rgba/raw - (foreign-lambda* void ([nonnull-canvas canvas] [(c-pointer int) pwidth] [(c-pointer int) pheight] [blob data]) - "long *color = cdCanvasGetPattern(canvas, pwidth, pheight);\n" - "\n" - "if (data) {\n" - " int width = *pwidth, height = *pheight;\n" - " int i, j;\n" - " \n" - " for (j = 0; j < height; ++j) {\n" - " for (i = 0; i < width; ++i, data += 4) {\n" - " long c = color[(j * width) + i];\n" - " data[3] = 0xff - ((c >> 24) & 0xff);\n" - " data[0] = (c >> 16) & 0xff;\n" - " data[1] = (c >> 8) & 0xff;\n" - " data[2] = c & 0xff;\n" - " }\n" - " }\n" - "}\n")] - [canvas-interior-style-set/raw! - (foreign-lambda void "cdCanvasInteriorStyle" nonnull-canvas int)] - [canvas-interior-style-set! - (lambda (canvas interior-style) - (case (and (pair? interior-style) (car interior-style)) - [(hatch) - (let ([hatch-style (cadr interior-style)]) - (canvas-hatch-style-set/raw! - canvas - (cond - [(assq hatch-style hatch-styles) => cdr] - [else (error 'canvas-interior-style-set! "unknown hatch style" hatch-style)])) - (canvas-interior-style-set/raw! canvas (cdr (assq 'hatch interior-styles))))] - [(stipple) - (let ([width (cadr interior-style)] - [height (caddr interior-style)] - [data (cadddr interior-style)]) - (unless (= (blob-size data) (ceiling (/ (* width height) 8))) - (error 'canvas-interior-style-set! "bad stipple data length" (blob-size data) (ceiling (/ (* width height) 8)))) - (canvas-stipple-set/raw! canvas width height data) - (canvas-interior-style-set/raw! canvas (cdr (assq 'stipple interior-styles))))] - [(pattern/rgb) - (let ([width (cadr interior-style)] - [height (caddr interior-style)] - [data (cadddr interior-style)]) - (unless (= (blob-size data) (* 3 width height)) - (error 'canvas-interior-style-set! "bad pattern data length" (blob-size data) (* 3 width height))) - (canvas-pattern-set/rgb/raw! canvas width height data) - (canvas-interior-style-set/raw! canvas (cdr (assq 'pattern interior-styles))))] - [(pattern/rgba) - (let ([width (cadr interior-style)] - [height (caddr interior-style)] - [data (cadddr interior-style)]) - (unless (= (blob-size data) (* 4 width height)) - (error 'canvas-interior-style-set! "bad pattern data length" (blob-size data) (* 4 width height))) - (canvas-pattern-set/rgba/raw! canvas width height data) - (canvas-interior-style-set/raw! canvas (cdr (assq 'pattern interior-styles))))] - [else - (canvas-interior-style-set/raw! - canvas - (cond - [(assq interior-style interior-styles) => cdr] - [else (error 'canvas-interior-style-set! "unknown interior style" interior-style)]))]))] - [canvas-interior-style/raw - (foreign-lambda* int ([nonnull-canvas canvas]) - "C_return(cdCanvasInteriorStyle(canvas, CD_QUERY));")] - [canvas-interior-style - (lambda (canvas) - (let* ([interior-style (canvas-interior-style/raw canvas)] - [interior-style - (cond - [(rassoc interior-style interior-styles) => car] - [else (error 'canvas-interior-style "unknown interior style" interior-style)])]) - (case interior-style - [(hatch) - (let ([hatch-style (canvas-hatch-style/raw canvas)]) - (list - 'hatch - (cond - [(rassoc hatch-style hatch-styles) => car] - [else (error 'canvas-interior-style "unknown hatch style" hatch-style)])))] - [(stipple) - (let-location ([width int 0] [height int 0]) - (canvas-stipple/raw canvas (location width) (location height) #f) - (let ([data (make-blob (inexact->exact (ceiling (/ (* width height) 8))))]) - (canvas-stipple/raw canvas (location width) (location height) data) - (list 'stipple width height data)))] - [(pattern) - (let-location ([width int 0] [height int 0]) - (canvas-pattern/rgba/raw canvas (location width) (location height) #f) - (let ([data (make-blob (* 4 width height))]) - (canvas-pattern/rgba/raw canvas (location width) (location height) data) - (list 'pattern/rgba width height data)))] - [else - interior-style])))]) - (values - (getter-with-setter canvas-interior-style canvas-interior-style-set!) - canvas-interior-style-set!))) - -;; }}} - -;; {{{ Text functions - -(define canvas-text! - (foreign-lambda void "cdfCanvasText" nonnull-canvas double double nonnull-c-string)) - -(define canvas-font-set! - (foreign-lambda c-string "cdCanvasNativeFont" nonnull-canvas nonnull-c-string)) - -(define canvas-font - (getter-with-setter - (foreign-lambda* c-string ([nonnull-canvas canvas]) - "C_return(cdCanvasNativeFont(canvas, NULL));") - canvas-font-set!)) - -(define-values (canvas-text-alignment canvas-text-alignment-set!) - (letrec ([alignments - (list - (cons - 'north - (foreign-value "CD_NORTH" int)) - (cons - 'south - (foreign-value "CD_SOUTH" int)) - (cons - 'east - (foreign-value "CD_EAST" int)) - (cons - 'west - (foreign-value "CD_WEST" int)) - (cons - 'north-east - (foreign-value "CD_NORTH_EAST" int)) - (cons - 'north-west - (foreign-value "CD_NORTH_WEST" int)) - (cons - 'south-east - (foreign-value "CD_SOUTH_EAST" int)) - (cons - 'south-west - (foreign-value "CD_SOUTH_WEST" int)) - (cons - 'center - (foreign-value "CD_CENTER" int)) - (cons - 'base-left - (foreign-value "CD_BASE_LEFT" int)) - (cons - 'base-center - (foreign-value "CD_BASE_CENTER" int)) - (cons - 'base-right - (foreign-value "CD_BASE_RIGHT" int)))] - [canvas-text-alignment-set/raw! - (foreign-lambda void "cdCanvasTextAlignment" nonnull-canvas int)] - [canvas-text-alignment-set! - (lambda (canvas alignment) - (canvas-text-alignment-set/raw! - canvas - (cond - [(assq alignment alignments) => cdr] - [else (error 'canvas-text-alignment-set! "unknown alignment" alignment)])))] - [canvas-text-alignment/raw - (foreign-lambda* int ([nonnull-canvas canvas]) - "C_return(cdCanvasTextAlignment(canvas, CD_QUERY));")] - [canvas-text-alignment - (lambda (canvas) - (let ([alignment (canvas-text-alignment/raw canvas)]) - (cond - [(rassoc alignment alignments) => car] - [else (error 'canvas-text-alignment "unknown alignment" alignment)])))]) - (values - (getter-with-setter canvas-text-alignment canvas-text-alignment-set!) - canvas-text-alignment-set!))) - -(define canvas-text-orientation-set! - (foreign-lambda void "cdCanvasTextOrientation" nonnull-canvas double)) - -(define canvas-text-orientation - (getter-with-setter - (foreign-lambda* double ([nonnull-canvas canvas]) - "C_return(cdCanvasTextOrientation(canvas, CD_QUERY));") - canvas-text-orientation-set!)) - -(define canvas-font-dimensions - (letrec ([canvas-font-dimensions/raw - (foreign-lambda void "cdCanvasGetFontDim" nonnull-canvas (c-pointer int) (c-pointer int) (c-pointer int) (c-pointer int))]) - (lambda (canvas) - (let-location ([max-width int 0] - [height int 0] - [ascent int 0] - [descent int 0]) - (canvas-font-dimensions/raw canvas (location max-width) (location height) (location ascent) (location descent)) - (values max-width height ascent descent))))) - -(define canvas-text-size - (letrec ([canvas-text-size/raw - (foreign-lambda void "cdCanvasGetTextSize" nonnull-canvas nonnull-c-string (c-pointer int) (c-pointer int))]) - (lambda (canvas text) - (let-location ([width int 0] [height int 0]) - (canvas-text-size/raw canvas text (location width) (location height)) - (values width height))))) - -(define canvas-text-box - (letrec ([canvas-text-box/raw - (foreign-lambda void "cdCanvasGetTextBox" nonnull-canvas int int nonnull-c-string (c-pointer int) (c-pointer int) (c-pointer int) (c-pointer int))]) - (lambda (canvas x y text) - (let-location ([x0 int 0] [x1 int 0] - [y0 int 0] [y1 int 0]) - (canvas-text-box/raw canvas x y text (location x0) (location x1) (location y0) (location y1)) - (values x0 x1 y0 y1))))) - -;; }}} - -;; {{{ Vertex functions - -(define call-with-canvas-in-mode - (letrec ([canvas-modes - (list - (cons - 'open-lines - (foreign-value "CD_OPEN_LINES" int)) - (cons - 'closed-lines - (foreign-value "CD_CLOSED_LINES" int)) - (cons - 'fill - (foreign-value "CD_FILL" int)) - (cons - 'clip - (foreign-value "CD_CLIP" int)) - (cons - 'bezier - (foreign-value "CD_BEZIER" int)) - (cons - 'region - (foreign-value "CD_REGION" int)) - (cons - 'path - (foreign-value "CD_PATH" int)))] - [canvas-begin - (foreign-lambda void "cdCanvasBegin" nonnull-canvas int)] - [canvas-end - (foreign-lambda void "cdCanvasEnd" nonnull-canvas)]) - (lambda (canvas canvas-mode proc) - (let ([canvas-mode - (cond - [(assq canvas-mode canvas-modes) => cdr] - [else (error 'with-canvas-mode "unknown canvas mode" canvas-mode)])]) - (dynamic-wind - (cut canvas-begin canvas canvas-mode) - (cut proc canvas) - (cut canvas-end canvas)))))) - -(define canvas-path-set! - (letrec ([path-actions - (list - (cons - 'new - (foreign-value "CD_PATH_NEW" int)) - (cons - 'move-to - (foreign-value "CD_PATH_MOVETO" int)) - (cons - 'line-to - (foreign-value "CD_PATH_LINETO" int)) - (cons - 'arc - (foreign-value "CD_PATH_ARC" int)) - (cons - 'curve-to - (foreign-value "CD_PATH_CURVETO" int)) - (cons - 'close - (foreign-value "CD_PATH_CLOSE" int)) - (cons - 'fill - (foreign-value "CD_PATH_FILL" int)) - (cons - 'stroke - (foreign-value "CD_PATH_STROKE" int)) - (cons - 'fill+stroke - (foreign-value "CD_PATH_FILLSTROKE" int)) - (cons - 'clip - (foreign-value "CD_PATH_CLIP" int)))] - [canvas-path-set/raw! - (foreign-lambda void "cdCanvasPathSet" nonnull-canvas int)]) - (lambda (canvas path-action) - (canvas-path-set/raw! - canvas - (cond - [(assq path-action path-actions) => cdr] - [else (error 'canvas-path-set! "unknown path action" path-action)]))))) - -(define canvas-vertex! - (foreign-lambda void "cdfCanvasVertex" nonnull-canvas double double)) - -;; }}} DELETED canvas-draw/canvas-draw-printer.scm Index: canvas-draw/canvas-draw-printer.scm ================================================================== --- canvas-draw/canvas-draw-printer.scm +++ /dev/null @@ -1,18 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:printer - (foreign-value "CD_PRINTER" nonnull-context)) - -;; }}} DELETED canvas-draw/canvas-draw-ps.scm Index: canvas-draw/canvas-draw-ps.scm ================================================================== --- canvas-draw/canvas-draw-ps.scm +++ /dev/null @@ -1,18 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:ps - (foreign-value "CD_PS" nonnull-context)) - -;; }}} DELETED canvas-draw/canvas-draw-server.scm Index: canvas-draw/canvas-draw-server.scm ================================================================== --- canvas-draw/canvas-draw-server.scm +++ /dev/null @@ -1,22 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:image - (foreign-value "CD_IMAGE" nonnull-context)) - -(define context:double-buffer - (foreign-value "CD_DBUFFER" nonnull-context)) - -;; }}} DELETED canvas-draw/canvas-draw-svg.scm Index: canvas-draw/canvas-draw-svg.scm ================================================================== --- canvas-draw/canvas-draw-svg.scm +++ /dev/null @@ -1,18 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:svg - (foreign-value "CD_SVG" nonnull-context)) - -;; }}} DELETED canvas-draw/canvas-draw-types.scm Index: canvas-draw/canvas-draw-types.scm ================================================================== --- canvas-draw/canvas-draw-types.scm +++ /dev/null @@ -1,23 +0,0 @@ -(define-foreign-type canvas (c-pointer "cdCanvas") - (canvas->pointer #f) - (pointer->canvas #f)) - -(define-foreign-type nonnull-canvas (nonnull-c-pointer "cdCanvas") - (canvas->pointer #t) - (pointer->canvas #t)) - -(define-foreign-type context (c-pointer "cdContext") - (context->pointer #f) - (pointer->context #f)) - -(define-foreign-type nonnull-context (nonnull-c-pointer "cdContext") - (context->pointer #t) - (pointer->context #t)) - -(define-foreign-type state (c-pointer "cdState") - (state->pointer #f) - (pointer->state #f)) - -(define-foreign-type nonnull-state (nonnull-c-pointer "cdState") - (state->pointer #t) - (pointer->state #t)) DELETED canvas-draw/canvas-draw-wmf.scm Index: canvas-draw/canvas-draw-wmf.scm ================================================================== --- canvas-draw/canvas-draw-wmf.scm +++ /dev/null @@ -1,18 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "canvas-draw-types.scm") - -;; }}} - -;; {{{ Context types - -(define context:wmf - (foreign-value "CD_WMF" nonnull-context)) - -;; }}} DELETED canvas-draw/canvas-draw.meta Index: canvas-draw/canvas-draw.meta ================================================================== --- canvas-draw/canvas-draw.meta +++ /dev/null @@ -1,6 +0,0 @@ -((category graphics) - (license "BSD") - (author "Thomas Chust") - (synopsis "Bindings to the CD graphics library") - (doc-from-wiki) - (files "canvas-draw-native.scm" "canvas-draw-picture.scm" "canvas-draw-pdf.scm" "canvas-draw.meta" "canvas-draw-clipboard.scm" "canvas-draw-ps.scm" "canvas-draw-iup.scm" "canvas-draw-debug.scm" "canvas-draw-wmf.scm" "canvas-draw-cgm.scm" "canvas-draw-play.scm" "canvas-draw-dxf.scm" "canvas-draw-svg.scm" "canvas-draw-types.scm" "canvas-draw-emf.scm" "canvas-draw-metafile.scm" "canvas-draw-dgn.scm" "canvas-draw.scm" "canvas-draw-printer.scm" "canvas-draw-server.scm" "canvas-draw-gl.scm" "canvas-draw-primitives.scm" "canvas-draw.setup" "canvas-draw.release-info" "canvas-draw-base.scm" "canvas-draw-client.scm")) DELETED canvas-draw/canvas-draw.scm Index: canvas-draw/canvas-draw.scm ================================================================== --- canvas-draw/canvas-draw.scm +++ /dev/null @@ -1,176 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -(require-library lolevel data-structures srfi-1 srfi-4 srfi-13) - -(module canvas-draw-base - (canvas? canvas->pointer pointer->canvas - context? context->pointer pointer->context - state? state->pointer pointer->state - context-capabilities - use-context+ make-canvas call-with-canvas - canvas-context - canvas-simulate! - canvas-attribute canvas-attribute-set! - canvas-state canvas-state-set! - canvas-clear! canvas-flush - canvas-size - canvas-mm->px canvas-px->mm - canvas-origin canvas-origin-set! - canvas-transform canvas-transform-set! - canvas-transform-compose! - canvas-transform-translate! - canvas-transform-scale! - canvas-transform-rotate! - canvas-foreground canvas-foreground-set! - canvas-background canvas-background-set! - canvas-write-mode canvas-write-mode-set! - canvas-clip-mode canvas-clip-mode-set! - canvas-clip-area canvas-clip-area-set!) - (import - scheme chicken foreign - lolevel data-structures srfi-1 srfi-4 srfi-13) - (include "canvas-draw-base.scm")) - -(module canvas-draw-primitives - (canvas-pixel! - canvas-mark! - canvas-mark-type canvas-mark-type-set! - canvas-mark-size canvas-mark-size-set! - canvas-line! canvas-rectangle! canvas-arc! - canvas-line-style canvas-line-style-set! - canvas-line-width canvas-line-width-set! - canvas-line-join canvas-line-join-set! - canvas-line-cap canvas-line-cap-set! - canvas-box! canvas-sector! canvas-chord! - canvas-background-opacity canvas-background-opacity-set! - canvas-fill-mode canvas-fill-mode-set! - canvas-interior-style canvas-interior-style-set! - canvas-text! - canvas-font canvas-font-set! - canvas-text-alignment canvas-text-alignment-set! - canvas-text-orientation canvas-text-orientation-set! - canvas-font-dimensions canvas-text-size canvas-text-box - call-with-canvas-in-mode canvas-path-set! - canvas-vertex!) - (import scheme chicken foreign data-structures srfi-4 canvas-draw-base) - (include "canvas-draw-primitives.scm")) - -(module canvas-draw-play - (canvas-play!) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-play.scm")) - -(module canvas-draw-picture - (context:picture) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-picture.scm")) - -(module canvas-draw-client - (context:image context:double-buffer - canvas-image/rgb canvas-image-put/rgb! canvas-image-put/rgba!) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-client.scm")) - -(module canvas-draw-ps - (context:ps) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-ps.scm")) - -(module canvas-draw-svg - (context:svg) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-svg.scm")) - -(module canvas-draw-metafile - (context:metafile) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-metafile.scm")) - -(module canvas-draw-cgm - (context:cgm) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-cgm.scm")) - -(module canvas-draw-dgn - (context:dgn) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-dgn.scm")) - -(module canvas-draw-dxf - (context:dxf) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-dxf.scm")) - -(module canvas-draw-emf - (context:emf) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-emf.scm")) - -(module canvas-draw-wmf - (context:wmf) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-wmf.scm")) - -(cond-expand - [disable-canvas-draw-iup] - [else - (module canvas-draw-iup - (context:iup make-canvas-action make-cells-draw-cb) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-iup.scm"))]) - -(cond-expand - [disable-canvas-draw-gl] - [else - (module canvas-draw-gl - (context:gl) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-gl.scm"))]) - -(cond-expand - [disable-canvas-draw-native] - [else - (module canvas-draw-native - (context:native-window - screen-size) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-native.scm")) - (module canvas-draw-server - (context:image context:double-buffer) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-server.scm")) - (module canvas-draw-clipboard - (context:clipboard) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-clipboard.scm")) - (module canvas-draw-printer - (context:printer) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-printer.scm"))]) - -(cond-expand - [disable-canvas-draw-pdf] - [else - (module canvas-draw-pdf - (context:pdf) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-pdf.scm"))]) - -(cond-expand - [enable-canvas-draw-debug - (module canvas-draw-debug - (context:debug) - (import scheme chicken foreign canvas-draw-base) - (include "canvas-draw-debug.scm"))] - [else]) - -(module canvas-draw - () - (import scheme chicken) - (reexport - (except canvas-draw-base - canvas->pointer pointer->canvas - context->pointer pointer->context - state->pointer pointer->state) - canvas-draw-primitives - canvas-draw-play)) DELETED canvas-draw/canvas-draw.setup Index: canvas-draw/canvas-draw.setup ================================================================== --- canvas-draw/canvas-draw.setup +++ /dev/null @@ -1,144 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -(define modules - `(-j canvas-draw - -j canvas-draw-base -j canvas-draw-primitives -j canvas-draw-play - -j canvas-draw-picture -j canvas-draw-client - -j canvas-draw-ps -j canvas-draw-svg -j canvas-draw-metafile - -j canvas-draw-cgm -j canvas-draw-dgn -j canvas-draw-dxf - -j canvas-draw-emf -j canvas-draw-wmf - ,@(cond-expand - [disable-canvas-draw-iup - '()] - [else - '(-j canvas-draw-iup)]) - ,@(cond-expand - [disable-canvas-draw-gl - '()] - [else - '(-j canvas-draw-gl)]) - ,@(cond-expand - [disable-canvas-draw-native - '()] - [else - '(-j canvas-draw-native -j canvas-draw-server - -j canvas-draw-clipboard -j canvas-draw-printer)]) - ,@(cond-expand - [disable-canvas-draw-pdf - '()] - [else - '(-j canvas-draw-pdf)]) - ,@(cond-expand - [enable-canvas-draw-debug - '(-j canvas-draw-debug)] - [else - '()]))) - -(define import-libraries - `("canvas-draw.import.so" - "canvas-draw-base.import.so" "canvas-draw-primitives.import.so" "canvas-draw-play.import.so" - "canvas-draw-picture.import.so" "canvas-draw-client.import.so" - "canvas-draw-ps.import.so" "canvas-draw-svg.import.so" "canvas-draw-metafile.import.so" - "canvas-draw-cgm.import.so" "canvas-draw-dgn.import.so" "canvas-draw-dxf.import.so" - "canvas-draw-emf.import.so" "canvas-draw-wmf.import.so" - ,@(cond-expand - [disable-canvas-draw-iup - '()] - [else - '("canvas-draw-iup.import.so")]) - ,@(cond-expand - [disable-canvas-draw-gl - '()] - [else - '("canvas-draw-gl.import.so")]) - ,@(cond-expand - [disable-canvas-draw-native - '()] - [else - '("canvas-draw-native.import.so" "canvas-draw-server.import.so" - "canvas-draw-clipboard.import.so" "canvas-draw-printer.import.so")]) - ,@(cond-expand - [disable-canvas-draw-pdf - '()] - [else - '("canvas-draw-pdf.import.so")]) - ,@(cond-expand - [enable-canvas-draw-debug - '("canvas-draw-debug.import.so")] - [else - '()]))) - -(define native-libraries - `("-lcd" - ,@(cond-expand - [disable-canvas-draw-iup - '()] - [else - '("-liupcd")]) - ,@(cond-expand - [disable-canvas-draw-gl - '()] - [else - '("-lcdgl")]) - ,@(cond-expand - [disable-canvas-draw-native - '()] - [else - (append - (if (find-library "cdx11" "cdContextNativeWindow") - '("-lcdx11") '()) - (if (find-library "cdcontextplus" "cdInitContextPlus") - '("-lcdcontextplus") '()))]) - ,@(cond-expand - [disable-canvas-draw-pdf - '()] - [else - '("-lcdpdf")]))) - -(compile -s -O2 -d1 "canvas-draw.scm" ,@modules ,@native-libraries) -(compile -c -O2 -d1 "canvas-draw.scm" -unit canvas-draw) -(compile -s -O2 -d0 "canvas-draw.import.scm") -(compile -s -O2 -d0 "canvas-draw-base.import.scm") -(compile -s -O2 -d0 "canvas-draw-primitives.import.scm") -(compile -s -O2 -d0 "canvas-draw-play.import.scm") -(compile -s -O2 -d0 "canvas-draw-picture.import.scm") -(compile -s -O2 -d0 "canvas-draw-client.import.scm") -(compile -s -O2 -d0 "canvas-draw-ps.import.scm") -(compile -s -O2 -d0 "canvas-draw-svg.import.scm") -(compile -s -O2 -d0 "canvas-draw-metafile.import.scm") -(compile -s -O2 -d0 "canvas-draw-cgm.import.scm") -(compile -s -O2 -d0 "canvas-draw-dgn.import.scm") -(compile -s -O2 -d0 "canvas-draw-dxf.import.scm") -(compile -s -O2 -d0 "canvas-draw-emf.import.scm") -(compile -s -O2 -d0 "canvas-draw-wmf.import.scm") - -(cond-expand - [disable-canvas-draw-iup] - [else - (compile -s -O2 -d0 "canvas-draw-iup.import.scm")]) -(cond-expand - [disable-canvas-draw-gl] - [else - (compile -s -O2 -d0 "canvas-draw-gl.import.scm")]) -(cond-expand - [disable-canvas-draw-native] - [else - (compile -s -O2 -d0 "canvas-draw-native.import.scm") - (compile -s -O2 -d0 "canvas-draw-server.import.scm") - (compile -s -O2 -d0 "canvas-draw-clipboard.import.scm") - (compile -s -O2 -d0 "canvas-draw-printer.import.scm")]) -(cond-expand - [disable-canvas-draw-pdf] - [else - (compile -s -O2 -d0 "canvas-draw-pdf.import.scm")]) -(cond-expand - [enable-canvas-draw-debug - (compile -s -O2 -d0 "canvas-draw-debug.import.scm")] - [else]) - -(install-extension - 'canvas-draw - `("canvas-draw.so" "canvas-draw.o" "canvas-draw-types.scm" ,@import-libraries) - `((version 1.1.1) - (static "canvas-draw-base.o") - (static-options ,(string-intersperse native-libraries)))) Index: chicken-iup.iss ================================================================== --- chicken-iup.iss +++ chicken-iup.iss @@ -5,19 +5,19 @@ ; NOTE: The value of AppId uniquely identifies this application. ; Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{9052599F-B5C1-4617-AF81-C6E2F9AB8E8C} AppName=chicken-iup -AppVersion=0.2 -;AppVerName=chicken-iup 0.1 +AppVersion=0.3 +;AppVerName=chicken-iup 0.2 AppPublisher=Call/Cc AppPublisherURL=http://www.call-cc.org AppSupportURL=http://www.call-cc.org AppUpdatesURL=http://www.call-cc.org DefaultDirName=\chicken DefaultGroupName=chicken-iup -LicenseFile=C:\mylibs\src\chicken-4.6.3\LICENSE +LicenseFile=C:\MinGW\msys\1.0\home\build-chicken-iup\chicken-4.8.0.5\LICENSE OutputBaseFilename=setup Compression=lzma SolidCompression=yes [Languages] @@ -28,11 +28,11 @@ [Files] Source: "C:\chicken\bin\csi.exe"; DestDir: "{app}\bin"; Flags: ignoreversion Source: "C:\chicken\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ;Source: "C:\chicken\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: "C:\mylibs\iup\*"; DestDir: "{app}\bin"; Flags: ignoreversion recursesubdirs createallsubdirs +;Source: "C:\mylibs\iup\*"; DestDir: "{app}\bin"; Flags: ignoreversion recursesubdirs createallsubdirs ;Source: "C:\mylibs\ffcall\*"; DestDir: "{app}\bin"; Flags: ignoreversion recursesubdirs createallsubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files Source: "C:\MinGW\bin\libgcc_s_dw2-1.dll"; DestDir: "{app}\bin"; [Icons] DELETED ffcall/CVS/Entries Index: ffcall/CVS/Entries ================================================================== --- ffcall/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/.cvsignore/1.1/Fri Oct 16 16:04:36 2009// -/ChangeLog/1.56/Tue Apr 24 15:22:21 2012// -/VERSION/1.1/Fri Apr 24 14:24:52 2009// -/aclocal.m4/1.19/Fri Sep 3 19:11:30 2010// -D DELETED ffcall/CVS/Repository Index: ffcall/CVS/Repository ================================================================== --- ffcall/CVS/Repository +++ /dev/null @@ -1,1 +0,0 @@ -ffcall DELETED ffcall/CVS/Root Index: ffcall/CVS/Root ================================================================== --- ffcall/CVS/Root +++ /dev/null @@ -1,1 +0,0 @@ -:pserver:anonymous@cvs.savannah.gnu.org:/sources/libffcall DELETED ffcall/ChangeLog Index: ffcall/ChangeLog ================================================================== --- ffcall/ChangeLog +++ /dev/null @@ -1,300 +0,0 @@ -2012-04-24 Sam Steingold - - Never build shared libraries: --enable-shared has no effect. - * avcall/Makefile.in (libavcall.la): pass -static to LIBTOOL_LINK - * callback/Makefile.in (libcallback.la): ditto - * callback/trampoline_r/Makefile.in (libtrampoline.la): ditto - * callback/vacall_r/Makefile.in (libvacall.la): ditto - -2010-09-03 Sam Steingold - - * configure.in: call AC_CONFIG_AUX_DIR(build-aux) - -2010-09-03 Sam Steingold - - * Makefile.devel (gnulib-imported): also import host-cpu-c-abi - * avcall/configure.in, callback/configure.in: - * callback/trampoline_r/configure.in, callback/vacall_r/configure.in: - * trampoline/configure.in, vacall/configure.in: - use gl_HOST_CPU_C_ABI instead of FFCALL_CANONICAL_HOST_CPU - * m4/general.m4: remove FFCALL_CANONICAL_HOST_CPU, - FFCALL_CACHE_EGREP_CPP, FFCALL_SET_CPU_ABI - * glm4/host-cpu-c-abi.m4: add - * avcall/Makefile.in, callback/Makefile.in: - * callback/trampoline_r/Makefile.in, callback/vacall_r/Makefile.in: - * trampoline/Makefile.in, vacall/Makefile.in, - use @HOST_CPU_C_ABI@ instead of @host_cpu_abi@ - * callback/trampoline_r/configure.in, trampoline/configure.in: - * m4/codeexec.m4: use $HOST_CPU_C_ABI instead of $host_cpu_abi - -2010-07-20 Sam Steingold - - * callback/trampoline_r/trampoline_r.h.in, trampoline/trampoline.h.in: - add autoconf CPU detection block; this fixes trampoline on sparc64/linux - Suggested by Valeriy E. Ushakov - -2010-07-20 Valeriy E. Ushakov - - https://savannah.gnu.org/bugs/?22081 - support sparc64 for solaris & *bsd - * avcall/avcall-sparc64.c, avcall/avcall.h.in: - Kill callee (%g2). Sparc64 doesn't need that code. - Delete space[] - gcc optimizes it away anyway, and it doesn't - guarantee correct operation even if it's not removed - if compiler - allocs it below other local vars on the stack, then calling - function with enough arguments will clobber local vars. - Instead i've changed the code to use alloca, see the comment in - the code for details on why this works. It also doesn't waste 2K - of stack on each call, we only grab the space we actually need. - I nuked farg_mask. It's not necessary for float args, marking - them in darg_mask does the right thing (new av_float). And they - just hurt structure passing, where, again, marking up darg_mask - does the right thing. - * avcall/avcall-saprc64.S: Regenerated with NetBSD gcc4 - * vacall/vacall-sparc64.S, callback/vacall_r/vacall-sparc64.S: - New binutils on sparc64 insist on having global registers properly - declared with .register. I've just added the declarations manually - w/out actually regenerating the files to demonstrate that's the - only change needed there. IF the files are regenerated with a - newer compiler you will get them automatically. - -2009-11-10 Sam Steingold - - * vacall/Makefile.in (vacall-armel.o): vacall-armel.s is in $(srcdir) - * callback/vacall_r/Makefile.in (vacall-armel.lo): ditto - -2009-10-16 Sam Steingold - - the final fix for LIBFFCALL_VERSION - * Makefile.devel (vacall/vacall.h.msvc, vacall/vacall.h.mingw32) - (callback/vacall_r/vacall_r.h.msvc) - (callback/vacall_r/vacall_r.h.mingw32): depend on VERSION - * avcall/avcall.h.in, callback/callback.h.in, - * callback/trampoline_r/trampoline_r.h.in, vacall/vacall.h.in, - * callback/vacall_r/vacall_r.h.in, trampoline/trampoline.h.in: - use @LIBFFCALL_VERSION@ instead of @PACKAGE_VERSION@ - * avcall/configure.in: additional processing for avcall.h to - substitute @LIBFFCALL_VERSION@ - * callback/configure.in: ditto for callback.h - * callback/trampoline_r/configure.in: ditto for trampoline_r.h - * callback/vacall_r/configure.in: ditto for vacall_r.h - * trampoline/configure.in: ditto for trampoline.h - * vacall/configure.in: ditto for vacall.h - * callback/vacall_r/Makefile.devel (vacall_r.h.msvc) - (vacall_r.h.mingw32): depend on ../../VERSION; - substitute @LIBFFCALL_VERSION@ - * vacall/Makefile.devel (vacall.h.msvc, vacall.h.mingw32): depend - on ../VERSION; substitute @LIBFFCALL_VERSION@ - -2009-10-16 Sam Steingold - - * glm4/longlong.m4, glm4/nocrash.m4: update from gnulib - -2009-10-16 Sam Steingold - - * Makefile.devel (update-gnulib): use git when available - -2009-10-16 Sam Steingold - - * avcall/configure.in, callback/configure.in, - * callback/trampoline_r/configure.in, callback/vacall_r/configure.in, - * trampoline/configure.in, vacall/configure.in: list the main generated - header (avcall.h et al) in AC_CONFIG_HEADERS, not in AC_CONFIG_FILES - fixes the bug#27706 (introduced on 2009-04-24) - -2009-04-28 Sam Steingold - - * m4/general.m4 (FFCALL_CACHE_EGREP_CPP, FFCALL_SET_CPU_ABI): - abstracted out of FFCALL_CANONICAL_HOST_CPU - (FFCALL_CANONICAL_HOST_CPU): use them - -2009-04-27 Max Lapan - Sam Steingold - - * avcall/Makefile.devel, avcall/Makefile.in, avcall/avcall.h.in, - * callback/trampoline_r/Makefile.devel, - * callback/trampoline_r/Makefile.in, - * callback/trampoline_r/configure.in, - * callback/vacall_r/Makefile.devel, callback/vacall_r/Makefile.in, - * callback/vacall_r/vacall_r.h.in, trampoline/Makefile.devel, - * trampoline/Makefile.in, trampoline/configure.in, - * vacall/Makefile.devel, vacall/Makefile.in, vacall/vacall.h.in: - Add ARMel support - * m4/general.m4 (FFCALL_CANONICAL_HOST_CPU): use AC_EGREP_CPP to - distinguish between arm and armel - * avcall/avcall-armel.S, avcall/avcall-armel.c, - * callback/trampoline_r/cache-armel.c, - * callback/trampoline_r/cache-armel.s, - * callback/vacall_r/vacall-armel.c, callback/vacall_r/vacall-armel.s, - * trampoline/cache-armel.c, trampoline/cache-armel.s, - * vacall/vacall-armel.c, vacall/vacall-armel.s: - new files - -2009-04-27 Max Lapan - - * avcall/tests.c, callback/tests.c, vacall/tests.c: - #include "config.h" for HAVE_LONG_LONG_INT - -2009-04-27 Max Lapan - - * callback/trampoline_r/trampoline.c (is_tramp) [__arm__]: - fix bug in the last patch - -2009-04-24 Sam Steingold - - * avcall/configure.in, callback/configure.in, - * callback/trampoline_r/configure.in, callback/vacall_r/configure.in, - * trampoline/configure.in, vacall/configure.in: - use AC_CONFIG_FILES instead of AC_OUTPUT with argument - * Makefile.devel (aclocal.m4): adjust the grep regexp - -2009-04-24 Sam Steingold - - * Makefile.in, avcall/Makefile.in, callback/Makefile.in, - * callback/trampoline_r/Makefile.in, callback/vacall_r/Makefile.in, - * trampoline/Makefile.in, vacall/Makefile.in (datarootdir): - set to @datarootdir@ to avoid a configure warning - -2009-04-24 Sam Steingold - - * Makefile.devel (SUBDIRS_CONFIG_H): add avcall and callback - -2009-04-24 Sam Steingold - - * VERSION: new file - * configure.in: use AC_INIT with the version argument - * avcall/Makefile.mingw32: use sed to set LIBFFCALL_VERSION in avcall.h - * callback/vacall_r/Makefile.mingw32: - use sed to set LIBFFCALL_VERSION in vacall_r.h - * vacall/Makefile.mingw32: use sed to set LIBFFCALL_VERSION in vacall.h - * avcall/avcall.h.in, callback/callback.h.in, - * callback/trampoline_r/trampoline_r.h.in, - * callback/vacall_r/vacall_r.h.in, - * trampoline/trampoline.h.in, vacall/vacall.h.in: - (LIBFFCALL_VERSION): define to @PACKAGE_VERSION@ - * avcall/configure.in, callback/configure.in, - * callback/trampoline_r/configure.in, callback/vacall_r/configure.in, - * trampoline/configure.in, vacall/configure.in: - use AC_INIT with the version argument, - pass [config.h] to AC_CONFIG_HEADERS - -2009-04-23 Sam Steingold - - * m4/codeexec.m4, m4/ireg.m4, m4/pccstruct.m4, m4/smallstruct.m4: - all 3 arguments of AC_DEFINE are now required - -2009-04-21 Sam Steingold - - * m4/as-underscore.m4, m4/codeexec.m4, m4/general.m4: - * m4/getpagesize.m4, m4/ireg.m4, m4/mach-vm.m4, m4/mmap.m4: - * m4/mprotect.m4, m4/pccstruct.m4, m4/shm.m4, m4/smallstruct.m4: - quote AC_DEFINE arguments - -2008-09-28 Sam Steingold - - * Makefile.devel (aclocal.m4): include glm4 (this defined gl_EARLY - and gl_INIT and fixes make check on x86_64) - -2008-09-26 Sam Steingold - - * avcall/avcall-ia64.s, avcall/avcall.h.in: - * callback/vacall_r/vacall_r.h.in: - support IA64 on Linux (kernel 2.6.16+ and gcc 4.1.0+) - https://savannah.gnu.org/bugs/index.php?22130 - http://sourceforge.net/tracker/index.php?func=detail&aid=1528895&group_id=1355&atid=301355 - -2008-09-26 Sam Steingold - - * callback/trampoline_r/Makefile.in, callback/trampoline_r/cache-arm.c: - * callback/trampoline_r/cache-arm.s, callback/trampoline_r/configure.in: - * callback/trampoline_r/tramp-arm.s, callback/trampoline_r/tramp-mips.s: - * callback/trampoline_r/trampoline.c, trampoline/cache-arm.c: - * trampoline/cache-arm.s, trampoline/configure.in: - * trampoline/tramp-arm.s, trampoline/trampoline.c: - add arm support from Jonathan Olson (debian 1.10-2) - https://savannah.gnu.org/bugs/?func=detailitem&item_id=9468 - -2008-09-26 Sam Steingold - - * avcall/avcall-mips.S, avcall/avcall-mips.c, avcall/avcall.h.in: - * callback/trampoline_r/trampoline.c, callback/vacall_r/vacall_r.h.in: - * m4/general.m4, trampoline/trampoline.c, vacall/vacall.h.in: - add mipsel support from Thiemo Seufer (debian 1.10-2) - -2008-09-26 Sam Steingold - - * Makefile.devel, Makefile.in, callback/Makefile.devel, - * callback/Makefile.in: use "&&" instead of ";" for all targets - -2008-07-13 Sam Steingold - - * glm4/gnulib-cache.m4, glm4/gnulib-common.m4, glm4/gnulib-comp.m4: - * glm4/gnulib-tool.m4, glm4/onceonly.m4: add from gnulib - * glm4/nocrash.m4: update from gnulib - * Makefile.devel (gnulib-imported): remove gllib - * configure.ac: call gl_EARLY and gl_INIT - -2008-07-08 Sam Steingold - - * Makefile.devel (SUBDIRS_CONFIGURE): use $(CURDIR) instead of . - (%/configure): use "&&" instead of ";" - -2008-07-03 Sam Steingold - - * Makefile.devel (all): split into a few manageable targets - (config-h-in, woe32-h, woe32-c): new targets - (configure): use patterns - -2008-07-03 Sam Steingold - - * m4/smallstruct.m4 (FFCALL_SMALL_STRUCT_RETURN): rename from - CL_SMALL_STRUCT_RETURN; use ffcall_cv_* instead of cl_cv_*; - use return instead of exit() - * m4/pccstruct.m4 (FFCALL_PCC_STRUCT_RETURN): rename from - CL_PCC_STRUCT_RETURN; use ffcall_cv_* instead of cl_cv_*; - use return instead of exit() - * m4/ireg.m4 (FFCALL_IREG_FLOAT_RETURN): remame from - CL_IREG_FLOAT_RETURN; use ffcall_cv_* instead of cl_cv_*; - use return instead of exit() - * m4/codeexec.m4 (FFCALL_CODEEXEC): rename from CL_CODEEXEC - use ffcall_cv_* instead of cl_cv_*; use return instead of exit() - * m4/general.m4: remove non-FFCALL code - (FFCALL_COMMON_LIBTOOL): rename from CL_FFCALL_COMMON_LIBTOOL - (FFCALL_COMMON_TRAMPOLINE): rename from CL_FFCALL_COMMON_TRAMPOLINE - (FFCALL_CANONICAL_HOST_CPU): <- CL_CANONICAL_HOST_CPU_FOR_FFCALL - -2008-07-03 Sam Steingold - - * Makefile.devel (build-aux-update): new target - -2008-07-02 Sam Steingold - - * Makefile.devel (gnulib-imported, update-gnulib): new targets - * glm4: new directory - * longlong.m4, nocrash.m4: move from m4 to glm4 - -2008-07-02 Sam Steingold - - * m4/ln.m4: update from clisp - * m4/cp.m4: remove - * m4/getpagesize.m4: update from clisp - * m4/general.m4: update from clisp - * m4/mmap.m4: update from clisp - * m4/mprotect.m4: update from clisp - * m4/proto.m4: update from clisp - * m4/openflags.m4: remove - * m4/cc-void.m4: remove - -2008-07-02 Sam Steingold - - * Makefile.devel, aclocal.m4: move autoconf/aclocal.m4 to aclocal.m4 - * aclocal/autoconf.m4: remove - * Makefile.devel (CLISP_DIR): remove - -2008-07-02 Sam Steingold - - * m4/ffcall-pccstruct.m4, m4/ffcall-smallstruct.m4, m4/ffcall-ireg.m4: - * m4/ffcall-codeexec.m4: remove "ffcall-" prefix - * Makefile.devel: update - -See clisp ChangeLog for earlier changes. DELETED ffcall/VERSION Index: ffcall/VERSION ================================================================== --- ffcall/VERSION +++ /dev/null @@ -1,1 +0,0 @@ -0x010B DELETED ffcall/aclocal.m4 Index: ffcall/aclocal.m4 ================================================================== --- ffcall/aclocal.m4 +++ /dev/null @@ -1,8297 +0,0 @@ -# generated automatically by aclocal 1.11.1 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 9 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 2006, 2008 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# 00gnulib.m4 serial 2 -dnl Copyright (C) 2009-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl This file must be named something that sorts before all other -dnl gnulib-provided .m4 files. It is needed until such time as we can -dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics. - -# AC_DEFUN_ONCE([NAME], VALUE) -# ---------------------------- -# Define NAME to expand to VALUE on the first use (whether by direct -# expansion, or by AC_REQUIRE), and to nothing on all subsequent uses. -# Avoid bugs in AC_REQUIRE in Autoconf 2.63 and earlier. This -# definition is slower than the version in Autoconf 2.64, because it -# can only use interfaces that existed since 2.59; but it achieves the -# same effect. Quoting is necessary to avoid confusing Automake. -m4_version_prereq([2.63.263], [], -[m4_define([AC][_DEFUN_ONCE], - [AC][_DEFUN([$1], - [AC_REQUIRE([_gl_DEFUN_ONCE([$1])], - [m4_indir([_gl_DEFUN_ONCE([$1])])])])]dnl -[AC][_DEFUN([_gl_DEFUN_ONCE([$1])], [$2])])]) - -# gl_00GNULIB -# ----------- -# Witness macro that this file has been included. Needed to force -# Automake to include this file prior to all other gnulib .m4 files. -AC_DEFUN([gl_00GNULIB]) - -# gnulib-common.m4 serial 20 -dnl Copyright (C) 2007-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -# gl_COMMON -# is expanded unconditionally through gnulib-tool magic. -AC_DEFUN([gl_COMMON], [ - dnl Use AC_REQUIRE here, so that the code is expanded once only. - AC_REQUIRE([gl_00GNULIB]) - AC_REQUIRE([gl_COMMON_BODY]) -]) -AC_DEFUN([gl_COMMON_BODY], [ - AH_VERBATIM([isoc99_inline], -[/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports - the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of - earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. - __APPLE__ && __MACH__ test for MacOS X. - __APPLE_CC__ tests for the Apple compiler and its version. - __STDC_VERSION__ tests for the C99 mode. */ -#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ -# define __GNUC_STDC_INLINE__ 1 -#endif]) - AH_VERBATIM([unused_parameter], -[/* Define as a marker that can be attached to declarations that might not - be used. This helps to reduce warnings, such as from - GCC -Wunused-parameter. */ -#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _GL_UNUSED __attribute__ ((__unused__)) -#else -# define _GL_UNUSED -#endif -/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name - is a misnomer outside of parameter lists. */ -#define _UNUSED_PARAMETER_ _GL_UNUSED -]) - dnl Preparation for running test programs: - dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not - dnl to /dev/tty, so they can be redirected to log files. Such diagnostics - dnl arise e.g., in the macros gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N. - LIBC_FATAL_STDERR_=1 - export LIBC_FATAL_STDERR_ -]) - -# gl_MODULE_INDICATOR_CONDITION -# expands to a C preprocessor expression that evaluates to 1 or 0, depending -# whether a gnulib module that has been requested shall be considered present -# or not. -AC_DEFUN([gl_MODULE_INDICATOR_CONDITION], [1]) - -# gl_MODULE_INDICATOR_SET_VARIABLE([modulename]) -# sets the shell variable that indicates the presence of the given module to -# a C preprocessor expression that will evaluate to 1. -AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE], -[ - GNULIB_[]m4_translit([[$1]], - [abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=gl_MODULE_INDICATOR_CONDITION -]) - -# gl_MODULE_INDICATOR([modulename]) -# defines a C macro indicating the presence of the given module -# in a location where it can be used. -# | Value | Value | -# | in lib/ | in tests/ | -# --------------------------------------------+---------+-----------+ -# Module present among main modules: | 1 | 1 | -# --------------------------------------------+---------+-----------+ -# Module present among tests-related modules: | 0 | 1 | -# --------------------------------------------+---------+-----------+ -# Module not present at all: | 0 | 0 | -# --------------------------------------------+---------+-----------+ -AC_DEFUN([gl_MODULE_INDICATOR], -[ - AC_DEFINE_UNQUOTED([GNULIB_]m4_translit([[$1]], - [abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), - [gl_MODULE_INDICATOR_CONDITION], - [Define to a C preprocessor expression that evaluates to 1 or 0, - depending whether the gnulib module $1 shall be considered present.]) -]) - -# gl_MODULE_INDICATOR_FOR_TESTS([modulename]) -# defines a C macro indicating the presence of the given module -# in lib or tests. This is useful to determine whether the module -# should be tested. -# | Value | Value | -# | in lib/ | in tests/ | -# --------------------------------------------+---------+-----------+ -# Module present among main modules: | 1 | 1 | -# --------------------------------------------+---------+-----------+ -# Module present among tests-related modules: | 1 | 1 | -# --------------------------------------------+---------+-----------+ -# Module not present at all: | 0 | 0 | -# --------------------------------------------+---------+-----------+ -AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], -[ - AC_DEFINE([GNULIB_TEST_]m4_translit([[$1]], - [abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], - [Define to 1 when the gnulib module $1 should be tested.]) -]) - -# m4_foreach_w -# is a backport of autoconf-2.59c's m4_foreach_w. -# Remove this macro when we can assume autoconf >= 2.60. -m4_ifndef([m4_foreach_w], - [m4_define([m4_foreach_w], - [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) - -# AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH]) -# ---------------------------------------------------- -# Backport of autoconf-2.63b's macro. -# Remove this macro when we can assume autoconf >= 2.64. -m4_ifndef([AS_VAR_IF], -[m4_define([AS_VAR_IF], -[AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])]) - -# AC_PROG_MKDIR_P -# is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix -# for interoperability with automake-1.9.6 from autoconf-2.62. -# Remove this macro when we can assume autoconf >= 2.62 or -# autoconf >= 2.60 && automake >= 1.10. -m4_ifdef([AC_PROG_MKDIR_P], [ - dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed. - m4_define([AC_PROG_MKDIR_P], - m4_defn([AC_PROG_MKDIR_P])[ - AC_SUBST([MKDIR_P])])], [ - dnl For autoconf < 2.60: Backport of AC_PROG_MKDIR_P. - AC_DEFUN_ONCE([AC_PROG_MKDIR_P], - [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake - MKDIR_P='$(mkdir_p)' - AC_SUBST([MKDIR_P])])]) - -# AC_C_RESTRICT -# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61, -# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++ -# works. -# This definition can be removed once autoconf >= 2.62 can be assumed. -m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.62]),[-1],[ -AC_DEFUN([AC_C_RESTRICT], -[AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict], - [ac_cv_c_restrict=no - # The order here caters to the fact that C++ does not require restrict. - for ac_kw in __restrict __restrict__ _Restrict restrict; do - AC_COMPILE_IFELSE([AC_LANG_PROGRAM( - [[typedef int * int_ptr; - int foo (int_ptr $ac_kw ip) { - return ip[0]; - }]], - [[int s[1]; - int * $ac_kw t = s; - t[0] = 0; - return foo(t)]])], - [ac_cv_c_restrict=$ac_kw]) - test "$ac_cv_c_restrict" != no && break - done - ]) - AH_VERBATIM([restrict], -[/* Define to the equivalent of the C99 'restrict' keyword, or to - nothing if this is not supported. Do not define if restrict is - supported directly. */ -#undef restrict -/* Work around a bug in Sun C++: it does not support _Restrict, even - though the corresponding Sun C compiler does, which causes - "#define restrict _Restrict" in the previous line. Perhaps some future - version of Sun C++ will work with _Restrict; if so, it'll probably - define __RESTRICT, just as Sun C does. */ -#if defined __SUNPRO_CC && !defined __RESTRICT -# define _Restrict -#endif]) - case $ac_cv_c_restrict in - restrict) ;; - no) AC_DEFINE([restrict], []) ;; - *) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; - esac -]) -]) - -# gl_BIGENDIAN -# is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd. -# Note that AC_REQUIRE([AC_C_BIGENDIAN]) does not work reliably because some -# macros invoke AC_C_BIGENDIAN with arguments. -AC_DEFUN([gl_BIGENDIAN], -[ - AC_C_BIGENDIAN -]) - -# gl_CACHE_VAL_SILENT(cache-id, command-to-set-it) -# is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not -# output a spurious "(cached)" mark in the midst of other configure output. -# This macro should be used instead of AC_CACHE_VAL when it is not surrounded -# by an AC_MSG_CHECKING/AC_MSG_RESULT pair. -AC_DEFUN([gl_CACHE_VAL_SILENT], -[ - saved_as_echo_n="$as_echo_n" - as_echo_n=':' - AC_CACHE_VAL([$1], [$2]) - as_echo_n="$saved_as_echo_n" -]) - -# DO NOT EDIT! GENERATED AUTOMATICALLY! -# Copyright (C) 2002-2010 Free Software Foundation, Inc. -# -# This file is free software, distributed under the terms of the GNU -# General Public License. As a special exception to the GNU General -# Public License, this file may be distributed as part of a program -# that contains a configuration script generated by Autoconf, under -# the same distribution terms as the rest of that program. -# -# Generated by gnulib-tool. -# -# This file represents the compiled summary of the specification in -# gnulib-cache.m4. It lists the computed macro invocations that need -# to be invoked from configure.ac. -# In projects using CVS, this file can be treated like other built files. - - -# This macro should be invoked from ./configure.ac, in the section -# "Checks for programs", right after AC_PROG_CC, and certainly before -# any checks for libraries, header files, types and library functions. -AC_DEFUN([gl_EARLY], -[ - m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace - m4_pattern_allow([^gl_ES$])dnl a valid locale name - m4_pattern_allow([^gl_LIBOBJS$])dnl a variable - m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable - AC_REQUIRE([AC_PROG_RANLIB]) - # Code from module host-cpu-c-abi: - # Code from module longlong: - # Code from module nocrash: -]) - -# This macro should be invoked from ./configure.ac, in the section -# "Check for header files, types and library functions". -AC_DEFUN([gl_INIT], -[ - AM_CONDITIONAL([GL_COND_LIBTOOL], [false]) - gl_cond_libtool=false - gl_libdeps= - gl_ltlibdeps= - gl_m4_base='glm4' - m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ])) - m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS])) - m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES])) - m4_pushdef([gl_LIBSOURCES_LIST], []) - m4_pushdef([gl_LIBSOURCES_DIR], []) - gl_COMMON - gl_source_base='gllib' - # Code from module host-cpu-c-abi: - gl_HOST_CPU_C_ABI - # Code from module longlong: - AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) - AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) - # Code from module nocrash: - # Code from module dummy: - # End of code from modules - m4_ifval(gl_LIBSOURCES_LIST, [ - m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ || - for gl_file in ]gl_LIBSOURCES_LIST[ ; do - if test ! -r ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file ; then - echo "missing file ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file" >&2 - exit 1 - fi - done])dnl - m4_if(m4_sysval, [0], [], - [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) - ]) - m4_popdef([gl_LIBSOURCES_DIR]) - m4_popdef([gl_LIBSOURCES_LIST]) - m4_popdef([AC_LIBSOURCES]) - m4_popdef([AC_REPLACE_FUNCS]) - m4_popdef([AC_LIBOBJ]) - AC_CONFIG_COMMANDS_PRE([ - gl_libobjs= - gl_ltlibobjs= - if test -n "$gl_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do - gl_libobjs="$gl_libobjs $i.$ac_objext" - gl_ltlibobjs="$gl_ltlibobjs $i.lo" - done - fi - AC_SUBST([gl_LIBOBJS], [$gl_libobjs]) - AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs]) - ]) - gltests_libdeps= - gltests_ltlibdeps= - m4_pushdef([AC_LIBOBJ], m4_defn([gltests_LIBOBJ])) - m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gltests_REPLACE_FUNCS])) - m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES])) - m4_pushdef([gltests_LIBSOURCES_LIST], []) - m4_pushdef([gltests_LIBSOURCES_DIR], []) - gl_COMMON - gl_source_base='tests' -changequote(,)dnl - gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS -changequote([, ])dnl - AC_SUBST([gltests_WITNESS]) - gl_module_indicator_condition=$gltests_WITNESS - m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition]) - m4_popdef([gl_MODULE_INDICATOR_CONDITION]) - m4_ifval(gltests_LIBSOURCES_LIST, [ - m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ || - for gl_file in ]gltests_LIBSOURCES_LIST[ ; do - if test ! -r ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file ; then - echo "missing file ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file" >&2 - exit 1 - fi - done])dnl - m4_if(m4_sysval, [0], [], - [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])]) - ]) - m4_popdef([gltests_LIBSOURCES_DIR]) - m4_popdef([gltests_LIBSOURCES_LIST]) - m4_popdef([AC_LIBSOURCES]) - m4_popdef([AC_REPLACE_FUNCS]) - m4_popdef([AC_LIBOBJ]) - AC_CONFIG_COMMANDS_PRE([ - gltests_libobjs= - gltests_ltlibobjs= - if test -n "$gltests_LIBOBJS"; then - # Remove the extension. - sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do - gltests_libobjs="$gltests_libobjs $i.$ac_objext" - gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" - done - fi - AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs]) - AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs]) - ]) - LIBGNU_LIBDEPS="$gl_libdeps" - AC_SUBST([LIBGNU_LIBDEPS]) - LIBGNU_LTLIBDEPS="$gl_ltlibdeps" - AC_SUBST([LIBGNU_LTLIBDEPS]) -]) - -# Like AC_LIBOBJ, except that the module name goes -# into gl_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([gl_LIBOBJ], [ - AS_LITERAL_IF([$1], [gl_LIBSOURCES([$1.c])])dnl - gl_LIBOBJS="$gl_LIBOBJS $1.$ac_objext" -]) - -# Like AC_REPLACE_FUNCS, except that the module name goes -# into gl_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([gl_REPLACE_FUNCS], [ - m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl - AC_CHECK_FUNCS([$1], , [gl_LIBOBJ($ac_func)]) -]) - -# Like AC_LIBSOURCES, except the directory where the source file is -# expected is derived from the gnulib-tool parameterization, -# and alloca is special cased (for the alloca-opt module). -# We could also entirely rely on EXTRA_lib..._SOURCES. -AC_DEFUN([gl_LIBSOURCES], [ - m4_foreach([_gl_NAME], [$1], [ - m4_if(_gl_NAME, [alloca.c], [], [ - m4_define([gl_LIBSOURCES_DIR], [gllib]) - m4_append([gl_LIBSOURCES_LIST], _gl_NAME, [ ]) - ]) - ]) -]) - -# Like AC_LIBOBJ, except that the module name goes -# into gltests_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([gltests_LIBOBJ], [ - AS_LITERAL_IF([$1], [gltests_LIBSOURCES([$1.c])])dnl - gltests_LIBOBJS="$gltests_LIBOBJS $1.$ac_objext" -]) - -# Like AC_REPLACE_FUNCS, except that the module name goes -# into gltests_LIBOBJS instead of into LIBOBJS. -AC_DEFUN([gltests_REPLACE_FUNCS], [ - m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl - AC_CHECK_FUNCS([$1], , [gltests_LIBOBJ($ac_func)]) -]) - -# Like AC_LIBSOURCES, except the directory where the source file is -# expected is derived from the gnulib-tool parameterization, -# and alloca is special cased (for the alloca-opt module). -# We could also entirely rely on EXTRA_lib..._SOURCES. -AC_DEFUN([gltests_LIBSOURCES], [ - m4_foreach([_gl_NAME], [$1], [ - m4_if(_gl_NAME, [alloca.c], [], [ - m4_define([gltests_LIBSOURCES_DIR], [tests]) - m4_append([gltests_LIBSOURCES_LIST], _gl_NAME, [ ]) - ]) - ]) -]) - -# This macro records the list of files which have been installed by -# gnulib-tool and may be removed by future gnulib-tool invocations. -AC_DEFUN([gl_FILE_LIST], [ - lib/dummy.c - m4/00gnulib.m4 - m4/gnulib-common.m4 - m4/host-cpu-c-abi.m4 - m4/longlong.m4 - m4/nocrash.m4 - m4/onceonly.m4 -]) - -# host-cpu-c-abi.m4 serial 1 -dnl Copyright (C) 2002-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible and Sam Steingold. - -dnl Sets the HOST_CPU_C_ABI variable to the canonical name of the CPU with its -dnl C language ABI (application binary interface). -dnl Also defines __${HOST_CPU_C_ABI}__ as a C macro in config.h. -dnl -dnl This canonical name can be used to select a particular assembly language -dnl source file that will interoperate with C code on the given host. -dnl -dnl For example: -dnl * 'i386' and 'sparc' are different canonical names, because code for i386 -dnl will not run on SPARC CPUs and vice versa. They have different -dnl instruction sets. -dnl * 'sparc' and 'sparc64' are different canonical names, because code for -dnl 'sparc' and code for 'sparc64' cannot be linked together: 'sparc' code -dnl contains 32-bit instructions, whereas 'sparc64' code contains 64-bit -dnl instructions. A process on a SPARC CPU can be in 32-bit mode or in 64-bit -dnl mode, but not both. -dnl * 'mips' and 'mipsn32' are different canonical names, because they use -dnl different argument passing and return conventions for C functions, and -dnl although the instruction set of 'mips' is a large subset of the -dnl instruction set of 'mipsn32'. -dnl * 'mipsn32' and 'mips64' are different canonical names, because they use -dnl different sizes for the C types like 'int' and 'void *', and although -dnl the instruction sets of 'mipsn32' and 'mips64' are the same. -dnl * 'arm' and 'armel' are different canonical names, because they use -dnl different memory ordering for the C types like 'int', and although -dnl the instruction sets of 'arm' and 'armel' are the same. -dnl * The same name 'i386' is used for CPUs of type i386, i486, i586 -dnl (Pentium), AMD K7, Pentium II, Pentium IV, etc., because -dnl - Instructions that do not exist on all of these CPUs (cmpxchg, -dnl MMX, SSE, SSE2, 3DNow! etc.) are not frequently used. If your -dnl assembly language source files use such instructions, you will -dnl need to make the distinction. -dnl - Speed of execution of the common instruction set is reasonable across -dnl the entire family of CPUs. If you have assembly language source files -dnl that are optimized for particular CPU types (like GNU gmp has), you -dnl will need to make the distinction. -dnl See . -AC_DEFUN([gl_HOST_CPU_C_ABI], -[ - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_CACHE_CHECK([host CPU and C ABI], [gl_cv_host_cpu_c_abi], - [case "$host_cpu" in - -changequote(,)dnl - i[4567]86 ) -changequote([,])dnl - gl_cv_host_cpu_c_abi=i386 - ;; - - x86_64 ) - # On x86_64 systems, the C compiler may still be generating - # 32-bit code. - AC_EGREP_CPP([yes], - [#if defined __LP64__ || defined __x86_64__ || defined __amd64__ - yes - #endif], - [gl_cv_host_cpu_c_abi=x86_64], - [gl_cv_host_cpu_c_abi=i386]) - ;; - -changequote(,)dnl - alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] ) -changequote([,])dnl - gl_cv_host_cpu_c_abi=alpha - ;; - - arm* ) - AC_EGREP_CPP([yes], - [#if defined __ARMEL__ - yes - #endif], - [gl_cv_host_cpu_c_abi=armel], - [gl_cv_host_cpu_c_abi=arm]) - ;; - - hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) - # TODO: Distinguish hppa and hppa64 correctly. - gl_cv_host_cpu_c_abi=hppa - ;; - - mips* ) - # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this - # at 32. - AC_EGREP_CPP([yes], - [#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64) - yes - #endif], - [gl_cv_host_cpu_c_abi=mips64], - [# Strictly speaking, the MIPS ABI (-32 or -n32) is independent - # from the CPU identification (-mips[12] or -mips[34]). But -n32 - # is commonly used together with -mips3, and it's easier to test - # the CPU identification. - AC_EGREP_CPP([yes], - [#if __mips >= 3 - yes - #endif], - [gl_cv_host_cpu_c_abi=mipsn32], - [gl_cv_host_cpu_c_abi=mips])]) - ;; - - powerpc64 ) - # On powerpc64 systems, the C compiler may still be generating - # 32-bit code. - AC_EGREP_CPP([yes], - [#if defined __powerpc64__ || defined _ARCH_PPC64 - yes - #endif], - [gl_cv_host_cpu_c_abi=powerpc64], - [gl_cv_host_cpu_c_abi=powerpc]) - ;; - - rs6000 ) - gl_cv_host_cpu_c_abi=powerpc - ;; - - # TODO: Distinguish s390 and s390x correctly. - - sparc | sparc64 ) - # UltraSPARCs running Linux have `uname -m` = "sparc64", but the - # C compiler still generates 32-bit code. - AC_EGREP_CPP([yes], - [#if defined __sparcv9 || defined __arch64__ - yes - #endif], - [gl_cv_host_cpu_c_abi=sparc64], - [gl_cv_host_cpu_c_abi=sparc]) - ;; - - *) - gl_cv_host_cpu_c_abi="$host_cpu" - ;; - esac - ]) - - HOST_CPU_C_ABI="$gl_cv_host_cpu_c_abi" - AC_SUBST([HOST_CPU_C_ABI]) - - # This was AC_DEFINE_UNQUOTED([__${gl_cv_host_cpu_c_abi}__]) earlier, - # but KAI C++ 3.2d doesn't like this. - cat >> confdefs.h < - @%:@ifndef LLONG_MAX - @%:@ define HALF \ - (1LL << (sizeof (long long int) * CHAR_BIT - 2)) - @%:@ define LLONG_MAX (HALF - 1 + HALF) - @%:@endif]], - [[long long int n = 1; - int i; - for (i = 0; ; i++) - { - long long int m = n << i; - if (m >> i != n) - return 1; - if (LLONG_MAX / 2 < m) - break; - } - return 0;]])], - [ac_cv_type_long_long_int=yes], - [ac_cv_type_long_long_int=no], - [ac_cv_type_long_long_int=yes])], - [ac_cv_type_long_long_int=no])]) - if test $ac_cv_type_long_long_int = yes; then - AC_DEFINE([HAVE_LONG_LONG_INT], [1], - [Define to 1 if the system has the type `long long int'.]) - fi -]) - -# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. -# This fixes a bug in Autoconf 2.61, but can be removed once we -# assume 2.62 everywhere. - -# Note: If the type 'unsigned long long int' exists but is only 32 bits -# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT -# will not be defined. In this case you can treat 'unsigned long long int' -# like 'unsigned long int'. - -AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], -[ - AC_CACHE_CHECK([for unsigned long long int], - [ac_cv_type_unsigned_long_long_int], - [AC_LINK_IFELSE( - [_AC_TYPE_LONG_LONG_SNIPPET], - [ac_cv_type_unsigned_long_long_int=yes], - [ac_cv_type_unsigned_long_long_int=no])]) - if test $ac_cv_type_unsigned_long_long_int = yes; then - AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1], - [Define to 1 if the system has the type `unsigned long long int'.]) - fi -]) - -# Expands to a C program that can be used to test for simultaneous support -# of 'long long' and 'unsigned long long'. We don't want to say that -# 'long long' is available if 'unsigned long long' is not, or vice versa, -# because too many programs rely on the symmetry between signed and unsigned -# integer types (excluding 'bool'). -AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], -[ - AC_LANG_PROGRAM( - [[/* For now, do not test the preprocessor; as of 2007 there are too many - implementations with broken preprocessors. Perhaps this can - be revisited in 2012. In the meantime, code should not expect - #if to work with literals wider than 32 bits. */ - /* Test literals. */ - long long int ll = 9223372036854775807ll; - long long int nll = -9223372036854775807LL; - unsigned long long int ull = 18446744073709551615ULL; - /* Test constant expressions. */ - typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - ? 1 : -1)]; - typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 - ? 1 : -1)]; - int i = 63;]], - [[/* Test availability of runtime routines for shift and division. */ - long long int llmax = 9223372036854775807ll; - unsigned long long int ullmax = 18446744073709551615ull; - return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) - | (llmax / ll) | (llmax % ll) - | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) - | (ullmax / ull) | (ullmax % ull));]]) -]) - -# nocrash.m4 serial 2 -dnl Copyright (C) 2005, 2009, 2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Based on libsigsegv, from Bruno Haible and Paolo Bonzini. - -AC_PREREQ([2.13]) - -dnl Expands to some code for use in .c programs that will cause the configure -dnl test to exit instead of crashing. This is useful to avoid triggering -dnl action from a background debugger and to avoid core dumps. -dnl Usage: ... -dnl ]GL_NOCRASH[ -dnl ... -dnl int main() { nocrash_init(); ... } -AC_DEFUN([GL_NOCRASH],[[ -#include -#if defined __MACH__ && defined __APPLE__ -/* Avoid a crash on MacOS X. */ -#include -#include -#include -#include -#include -#include -/* The exception port on which our thread listens. */ -static mach_port_t our_exception_port; -/* The main function of the thread listening for exceptions of type - EXC_BAD_ACCESS. */ -static void * -mach_exception_thread (void *arg) -{ - /* Buffer for a message to be received. */ - struct { - mach_msg_header_t head; - mach_msg_body_t msgh_body; - char data[1024]; - } msg; - mach_msg_return_t retval; - /* Wait for a message on the exception port. */ - retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg), - our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); - if (retval != MACH_MSG_SUCCESS) - abort (); - exit (1); -} -static void -nocrash_init (void) -{ - mach_port_t self = mach_task_self (); - /* Allocate a port on which the thread shall listen for exceptions. */ - if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port) - == KERN_SUCCESS) { - /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */ - if (mach_port_insert_right (self, our_exception_port, our_exception_port, - MACH_MSG_TYPE_MAKE_SEND) - == KERN_SUCCESS) { - /* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting - for us. */ - exception_mask_t mask = EXC_MASK_BAD_ACCESS; - /* Create the thread listening on the exception port. */ - pthread_attr_t attr; - pthread_t thread; - if (pthread_attr_init (&attr) == 0 - && pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0 - && pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) { - pthread_attr_destroy (&attr); - /* Replace the exception port info for these exceptions with our own. - Note that we replace the exception port for the entire task, not only - for a particular thread. This has the effect that when our exception - port gets the message, the thread specific exception port has already - been asked, and we don't need to bother about it. - See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */ - task_set_exception_ports (self, mask, our_exception_port, - EXCEPTION_DEFAULT, MACHINE_THREAD_STATE); - } - } - } -} -#else -/* Avoid a crash on POSIX systems. */ -#include -/* A POSIX signal handler. */ -static void -exception_handler (int sig) -{ - exit (1); -} -static void -nocrash_init (void) -{ -#ifdef SIGSEGV - signal (SIGSEGV, exception_handler); -#endif -#ifdef SIGBUS - signal (SIGBUS, exception_handler); -#endif -} -#endif -]]) - -dnl -*- Autoconf -*- -dnl Copyright (C) 1993-2009 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible, Marcus Daniels, Sam Steingold. - -AC_PREREQ(2.57) - -AC_DEFUN([CL_AS_UNDERSCORE], -[AC_BEFORE([$0], [CL_GLOBAL_CONSTRUCTORS]) -m4_pattern_allow([^AS_UNDERSCORE$]) -AC_CACHE_CHECK(for underscore in external names, cl_cv_prog_as_underscore, [ -cat > conftest.c </dev/null 2>&1 -if grep _foo conftest.s >/dev/null ; then - cl_cv_prog_as_underscore=yes -else - cl_cv_prog_as_underscore=no -fi -rm -f conftest* -]) -if test $cl_cv_prog_as_underscore = yes; then - AS_UNDERSCORE=true - AC_DEFINE([ASM_UNDERSCORE],[],[symbols are prefixed by an underscore in assembly language]) -else - AS_UNDERSCORE=false -fi -AC_SUBST(AS_UNDERSCORE)dnl -]) - -dnl Copyright (C) 1993-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible, Marcus Daniels. - -AC_PREREQ(2.13) - -AC_DEFUN([CL_CC_GCC], -[AC_REQUIRE([AC_PROG_CPP]) -AC_CACHE_CHECK(whether using GNU C, cl_cv_prog_cc_gcc, [ -AC_EGREP_CPP(yes,[#ifdef __GNUC__ - yes -#endif -], cl_cv_prog_cc_gcc=yes, cl_cv_prog_cc_gcc=no) -]) -if test $cl_cv_prog_cc_gcc = yes; then - CC_GCC=true - GCC_X_NONE='-x none' -else - CC_GCC=false - GCC_X_NONE='' -fi -AC_SUBST(CC_GCC)dnl -AC_SUBST(GCC_X_NONE)dnl -]) - -dnl -*- Autoconf -*- -dnl Copyright (C) 1993-2010 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible, Marcus Daniels, Sam Steingold. - -AC_PREREQ(2.13) - -AC_DEFUN([CE_DOC],[whether code in malloc()ed memory is executable]) -AC_DEFUN([FFCALL_CODEEXEC],[AC_CACHE_CHECK(CE_DOC, ffcall_cv_codeexec, [dnl -dnl The test below does not work on host=hppa*-hp-hpux* because on this system -dnl function pointers are actually pointers into(!) a two-pointer struct. -dnl The test below does not work on host=rs6000-*-* because on this system -dnl function pointers are actually pointers to a three-pointer struct. -case "$host_os" in - hpux*) ffcall_cv_codeexec="guessing yes" ;; - *) -case "$HOST_CPU_C_ABI"-"$host_os" in - # On host=rs6000-*-aix3.2.5 malloc'ed memory is indeed not executable. - powerpc-aix*) ffcall_cv_codeexec="guessing no" ;; - *) -AC_TRY_RUN(GL_NOCRASH[ -#include -/* declare malloc() */ -#include -int fun () { return 31415926; } -int main () -{ nocrash_init(); - {long size = (char*)&main - (char*)&fun; - char* funcopy = (char*) malloc(size); - int i; - for (i = 0; i < size; i++) { funcopy[i] = ((char*)&fun)[i]; } - return !((*(int(*)())funcopy)() == 31415926); -}}], ffcall_cv_codeexec=yes, ffcall_cv_codeexec=no, -ffcall_cv_codeexec="guessing yes") - ;; -esac - ;; -esac -]) -case "$ffcall_cv_codeexec" in - *yes) AC_DEFINE([CODE_EXECUTABLE], [], CE_DOC) ;; - *no) ;; -esac -]) - -dnl -*- Autoconf -*- -dnl Copyright (C) 1993-2009 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible, Marcus Daniels, Sam Steingold. - -AC_PREREQ(2.61) - -AC_DEFUN([FFCALL_COMMON_LIBTOOL], -[AC_REQUIRE([AM_DISABLE_SHARED])dnl -AC_REQUIRE([AM_PROG_LIBTOOL])dnl -]) - -AC_DEFUN([FFCALL_COMMON_TRAMPOLINE], -[AC_REQUIRE([AC_HEADER_STDC])dnl -AC_REQUIRE([CL_GETPAGESIZE])dnl -AC_REQUIRE([CL_MACH_VM])dnl -AC_REQUIRE([CL_MMAP])dnl -AC_REQUIRE([CL_MPROTECT])dnl -AC_REQUIRE([CL_SHM_H])dnl -AC_REQUIRE([CL_SHM])dnl -AC_REQUIRE([FFCALL_CODEEXEC])dnl -]) - -AC_DEFUN([CL_CHECK],[dnl - AC_CACHE_CHECK([for $2],[$3], - [$1([AC_LANG_PROGRAM([$4],[$5])],[$3=yes],[$3=no])]) - AS_IF([test $$3 = yes], [$6], [$7]) -]) - -AC_DEFUN([CL_LINK_CHECK], [CL_CHECK([AC_LINK_IFELSE],$@)]) - -dnl Expands to the "extern ..." prefix used for system declarations. -dnl AC_LANG_EXTERN() -AC_DEFUN([AC_LANG_EXTERN], -[extern -#ifdef __cplusplus -"C" -#endif -]) - -AC_DEFUN([CL_CONFIG_SUBDIRS], -[dnl No AC_CONFIG_AUX_DIR_DEFAULT, so we don't need install.sh. -AC_PROVIDE([AC_CONFIG_AUX_DIR_DEFAULT]) -AC_CONFIG_SUBDIRS([$1])dnl -]) - -dnl -*- Autoconf -*- -dnl Copyright (C) 1993-2009 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible, Marcus Daniels, Sam Steingold. - -AC_PREREQ(2.57) - -AC_DEFUN([CL_GETPAGESIZE], -[AC_BEFORE([$0], [CL_MPROTECT]) -CL_LINK_CHECK([getpagesize], cl_cv_func_getpagesize, [ -#ifdef HAVE_UNISTD_H -#include -#include -#endif -], [getpagesize();], -AC_DEFINE([HAVE_GETPAGESIZE],[],[have getpagesize()]) -have_getpagesize=1)dnl -if test -n "$have_getpagesize"; then -CL_PROTO([getpagesize], [ -CL_PROTO_RET([ -#include -#ifdef HAVE_UNISTD_H -#include -#endif -], [int getpagesize();], -cl_cv_proto_getpagesize_ret, int, size_t) -], [extern $cl_cv_proto_getpagesize_ret getpagesize (void);]) -AC_DEFINE_UNQUOTED([RETGETPAGESIZETYPE],$cl_cv_proto_getpagesize_ret,[return type of getpagesize()]) -else -dnl Otherwise we use PAGESIZE defined in . -dnl But mingw32 doesn't have . -AC_CHECK_HEADERS(sys/param.h) -fi -]) - -dnl -*- Autoconf -*- -dnl Copyright (C) 1993-2009 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible, Marcus Daniels, Sam Steingold. - -AC_PREREQ(2.13) - -AC_DEFUN([IREG_DOC],[whether floats are returned in integer registers]) -AC_DEFUN([FFCALL_IREG_FLOAT_RETURN],[dnl -AC_CACHE_CHECK(IREG_DOC, ffcall_cv_c_float_return_ireg, [AC_TRY_RUN(GL_NOCRASH[ -float x = (float)1.2; -float y = (float)1.3; -float fun () { return x*y; } -int main() -{ nocrash_init(); - {int val = (* (int (*) ()) fun) (); - return !(val == 0x3FC7AE15 || val == 0x15AEC73F); -}}], ffcall_cv_c_float_return_ireg=yes, ffcall_cv_c_float_return_ireg=no, -dnl When cross-compiling, assume no, because that's how it comes out on -dnl most platforms with floating-point unit, including m68k-linux. -ffcall_cv_c_float_return_ireg="guessing no") -]) -case "$ffcall_cv_c_float_return_ireg" in - *yes) AC_DEFINE([__IREG_FLOAT_RETURN__], [], IREG_DOC) ;; - *no) ;; -esac -]) - -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- - -# serial 52 AC_PROG_LIBTOOL - - -# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) -# ----------------------------------------------------------- -# If this macro is not defined by Autoconf, define it here. -m4_ifdef([AC_PROVIDE_IFELSE], - [], - [m4_define([AC_PROVIDE_IFELSE], - [m4_ifdef([AC_PROVIDE_$1], - [$2], [$3])])]) - - -# AC_PROG_LIBTOOL -# --------------- -AC_DEFUN([AC_PROG_LIBTOOL], -[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl -dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX -dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. - AC_PROVIDE_IFELSE([AC_PROG_CXX], - [AC_LIBTOOL_CXX], - [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX - ])]) -dnl And a similar setup for Fortran 77 support - AC_PROVIDE_IFELSE([AC_PROG_F77], - [AC_LIBTOOL_F77], - [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 -])]) - -dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. -dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run -dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. - AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [ifdef([AC_PROG_GCJ], - [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([A][M_PROG_GCJ], - [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([LT_AC_PROG_GCJ], - [define([LT_AC_PROG_GCJ], - defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) -])])# AC_PROG_LIBTOOL - - -# _AC_PROG_LIBTOOL -# ---------------- -AC_DEFUN([_AC_PROG_LIBTOOL], -[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl -AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl -AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl -AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -# Prevent multiple expansion -define([AC_PROG_LIBTOOL], []) -])# _AC_PROG_LIBTOOL - - -# AC_LIBTOOL_SETUP -# ---------------- -AC_DEFUN([AC_LIBTOOL_SETUP], -[AC_PREREQ(2.50)dnl -AC_REQUIRE([AC_ENABLE_SHARED])dnl -AC_REQUIRE([AC_ENABLE_STATIC])dnl -AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_LD])dnl -AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl -AC_REQUIRE([AC_PROG_NM])dnl - -AC_REQUIRE([AC_PROG_LN_S])dnl -AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! -AC_REQUIRE([AC_OBJEXT])dnl -AC_REQUIRE([AC_EXEEXT])dnl -dnl -AC_LIBTOOL_SYS_MAX_CMD_LEN -AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -AC_LIBTOOL_OBJDIR - -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -_LT_AC_PROG_ECHO_BACKSLASH - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] - -# Same as above, but do not quote variable references. -[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" - -AC_CHECK_TOOL(AR, ar, false) -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - AC_PATH_MAGIC - fi - ;; -esac - -_LT_REQUIRED_DARWIN_CHECKS - -AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -enable_win32_dll=yes, enable_win32_dll=no) - -AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -AC_ARG_WITH([pic], - [AC_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) -test -z "$pic_mode" && pic_mode=default - -# Use C for the default configuration in the libtool script -tagname= -AC_LIBTOOL_LANG_C_CONFIG -_LT_AC_TAGCONFIG -])# AC_LIBTOOL_SETUP - - -# _LT_AC_SYS_COMPILER -# ------------------- -AC_DEFUN([_LT_AC_SYS_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_AC_SYS_COMPILER - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -AC_DEFUN([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -]) - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -AC_DEFUN([_LT_COMPILER_BOILERPLATE], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -AC_DEFUN([_LT_LINKER_BOILERPLATE], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# -------------------------- -# Check for some things on darwin -AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - echo "int foo(void){return 1;}" > conftest.c - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib ${wl}-single_module conftest.c - if test -f libconftest.dylib; then - lt_cv_apple_cc_single_mod=yes - rm -rf libconftest.dylib* - fi - rm conftest.c - fi]) - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" - ]) - case $host_os in - rhapsody* | darwin1.[[0123]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}" - fi - if test "$DSYMUTIL" != ":"; then - _lt_dsymutil="~$DSYMUTIL \$lib || :" - else - _lt_dsymutil= - fi - ;; - esac -]) - -# _LT_AC_SYS_LIBPATH_AIX -# ---------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_AC_SYS_LIBPATH_AIX - - -# _LT_AC_SHELL_INIT(ARG) -# ---------------------- -AC_DEFUN([_LT_AC_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_AC_SHELL_INIT - - -# _LT_AC_PROG_ECHO_BACKSLASH -# -------------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], -[_LT_AC_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -echo=${ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string=`eval $cmd`) 2>/dev/null && - echo_test_string=`eval $cmd` && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(ECHO) -])])# _LT_AC_PROG_ECHO_BACKSLASH - - -# _LT_AC_LOCK -# ----------- -AC_DEFUN([_LT_AC_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -[*-*-cygwin* | *-*-mingw* | *-*-pw32*) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; - ]) -esac - -need_locks="$enable_libtool_lock" - -])# _LT_AC_LOCK - - -# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], -[AC_REQUIRE([LT_AC_PROG_SED]) -AC_CACHE_CHECK([$1], [$2], - [$2=no - ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $rm conftest* -]) - -if test x"[$]$2" = xyes; then - ifelse([$5], , :, [$5]) -else - ifelse([$6], , :, [$6]) -fi -])# AC_LIBTOOL_COMPILER_OPTION - - -# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ------------------------------------------------------------ -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $rm -r conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - ifelse([$4], , :, [$4]) -else - ifelse([$5], , :, [$5]) -fi -])# AC_LIBTOOL_LINKER_OPTION - - -# AC_LIBTOOL_SYS_MAX_CMD_LEN -# -------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], -[# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -])# AC_LIBTOOL_SYS_MAX_CMD_LEN - - -# _LT_AC_CHECK_DLFCN -# ------------------ -AC_DEFUN([_LT_AC_CHECK_DLFCN], -[AC_CHECK_HEADERS(dlfcn.h)dnl -])# _LT_AC_CHECK_DLFCN - - -# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# --------------------------------------------------------------------- -AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -}] -EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_AC_TRY_DLOPEN_SELF - - -# AC_LIBTOOL_DLOPEN_SELF -# ---------------------- -AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -])# AC_LIBTOOL_DLOPEN_SELF - - -# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) -# --------------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler -AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* -]) -])# AC_LIBTOOL_PROG_CC_C_O - - -# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) -# ----------------------------------------- -# Check to see if we can do hard links to lock some files if needed -AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], -[AC_REQUIRE([_LT_AC_LOCK])dnl - -hard_links="nottested" -if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS - - -# AC_LIBTOOL_OBJDIR -# ----------------- -AC_DEFUN([AC_LIBTOOL_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -])# AC_LIBTOOL_OBJDIR - - -# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) -# ---------------------------------------------- -# Check hardcoding attributes. -AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_AC_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ - test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ - test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_AC_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_AC_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_AC_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH - - -# AC_LIBTOOL_SYS_LIB_STRIP -# ------------------------ -AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], -[striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) -fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -])# AC_LIBTOOL_SYS_LIB_STRIP - - -# AC_LIBTOOL_SYS_DYNAMIC_LINKER -# ----------------------------- -# PORTME Fill in your ld.so characteristics -AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -m4_if($1,[],[ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`echo $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[[4-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[123]]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[[3-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec], -[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"]) -sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec], -[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"]) -sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi -])# AC_LIBTOOL_SYS_DYNAMIC_LINKER - - -# _LT_AC_TAGCONFIG -# ---------------- -AC_DEFUN([_LT_AC_TAGCONFIG], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_ARG_WITH([tags], - [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], - [include additional configurations @<:@automatic@:>@])], - [tagnames="$withval"]) - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - AC_MSG_WARN([output file `$ofile' does not exist]) - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) - else - AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) - fi - fi - if test -z "$LTCFLAGS"; then - eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in - "") ;; - *) AC_MSG_ERROR([invalid tag name: $tagname]) - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - AC_MSG_ERROR([tag name \"$tagname\" already exists]) - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_LIBTOOL_LANG_CXX_CONFIG - else - tagname="" - fi - ;; - - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - AC_LIBTOOL_LANG_F77_CONFIG - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - AC_LIBTOOL_LANG_GCJ_CONFIG - else - tagname="" - fi - ;; - - RC) - AC_LIBTOOL_LANG_RC_CONFIG - ;; - - *) - AC_MSG_ERROR([Unsupported tag name: $tagname]) - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - AC_MSG_ERROR([unable to update list of available tagged configurations.]) - fi -fi -])# _LT_AC_TAGCONFIG - - -# AC_LIBTOOL_DLOPEN -# ----------------- -# enable checks for dlopen support -AC_DEFUN([AC_LIBTOOL_DLOPEN], - [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_DLOPEN - - -# AC_LIBTOOL_WIN32_DLL -# -------------------- -# declare package support for building win32 DLLs -AC_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_WIN32_DLL - - -# AC_ENABLE_SHARED([DEFAULT]) -# --------------------------- -# implement the --enable-shared flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_SHARED], -[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([shared], - [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]AC_ENABLE_SHARED_DEFAULT) -])# AC_ENABLE_SHARED - - -# AC_DISABLE_SHARED -# ----------------- -# set the default shared flag to --disable-shared -AC_DEFUN([AC_DISABLE_SHARED], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no) -])# AC_DISABLE_SHARED - - -# AC_ENABLE_STATIC([DEFAULT]) -# --------------------------- -# implement the --enable-static flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_STATIC], -[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([static], - [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]AC_ENABLE_STATIC_DEFAULT) -])# AC_ENABLE_STATIC - - -# AC_DISABLE_STATIC -# ----------------- -# set the default static flag to --disable-static -AC_DEFUN([AC_DISABLE_STATIC], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no) -])# AC_DISABLE_STATIC - - -# AC_ENABLE_FAST_INSTALL([DEFAULT]) -# --------------------------------- -# implement the --enable-fast-install flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_FAST_INSTALL], -[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([fast-install], - [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) -])# AC_ENABLE_FAST_INSTALL - - -# AC_DISABLE_FAST_INSTALL -# ----------------------- -# set the default to --disable-fast-install -AC_DEFUN([AC_DISABLE_FAST_INSTALL], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no) -])# AC_DISABLE_FAST_INSTALL - - -# AC_LIBTOOL_PICMODE([MODE]) -# -------------------------- -# implement the --with-pic flag -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -AC_DEFUN([AC_LIBTOOL_PICMODE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -pic_mode=ifelse($#,1,$1,default) -])# AC_LIBTOOL_PICMODE - - -# AC_PROG_EGREP -# ------------- -# This is predefined starting with Autoconf 2.54, so this conditional -# definition can be removed once we require Autoconf 2.54 or later. -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], -[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], - [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi]) - EGREP=$ac_cv_prog_egrep - AC_SUBST([EGREP]) -])]) - - -# AC_PATH_TOOL_PREFIX -# ------------------- -# find a file program which can recognize shared library -AC_DEFUN([AC_PATH_TOOL_PREFIX], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="ifelse([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -])# AC_PATH_TOOL_PREFIX - - -# AC_PATH_MAGIC -# ------------- -# find a file program which can recognize a shared library -AC_DEFUN([AC_PATH_MAGIC], -[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# AC_PATH_MAGIC - - -# AC_PROG_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([AC_PROG_LD], -[AC_ARG_WITH([gnu-ld], - [AC_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no]) -AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown -])# AC_DEPLIBS_CHECK_METHOD - - -# AC_PROG_NM -# ---------- -# find the pathname to a BSD-compatible name lister -AC_DEFUN([AC_PROG_NM], -[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi]) -NM="$lt_cv_path_NM" -])# AC_PROG_NM - - -# AC_CHECK_LIBM -# ------------- -# check for math library -AC_DEFUN([AC_CHECK_LIBM], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -])# AC_CHECK_LIBM - - -# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl convenience library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-convenience to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# it is assumed to be `libltdl'. LIBLTDL will be prefixed with -# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' -# (note the single quotes!). If your package is not flat and you're not -# using automake, define top_builddir and top_srcdir appropriately in -# the Makefiles. -AC_DEFUN([AC_LIBLTDL_CONVENIENCE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_CONVENIENCE - - -# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl installable library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-install to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# and an installed libltdl is not found, it is assumed to be `libltdl'. -# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with -# '${top_srcdir}/' (note the single quotes!). If your package is not -# flat and you're not using automake, define top_builddir and top_srcdir -# appropriately in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. -AC_DEFUN([AC_LIBLTDL_INSTALLABLE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, lt_dlinit, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - else - enable_ltdl_install=yes - fi - ]) - if test x"$enable_ltdl_install" = x"yes"; then - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - else - ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - LTDLINCL= - fi - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_INSTALLABLE - - -# AC_LIBTOOL_CXX -# -------------- -# enable support for C++ libraries -AC_DEFUN([AC_LIBTOOL_CXX], -[AC_REQUIRE([_LT_AC_LANG_CXX]) -])# AC_LIBTOOL_CXX - - -# _LT_AC_LANG_CXX -# --------------- -AC_DEFUN([_LT_AC_LANG_CXX], -[AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) -])# _LT_AC_LANG_CXX - -# _LT_AC_PROG_CXXCPP -# ------------------ -AC_DEFUN([_LT_AC_PROG_CXXCPP], -[ -AC_REQUIRE([AC_PROG_CXX]) -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -fi -])# _LT_AC_PROG_CXXCPP - -# AC_LIBTOOL_F77 -# -------------- -# enable support for Fortran 77 libraries -AC_DEFUN([AC_LIBTOOL_F77], -[AC_REQUIRE([_LT_AC_LANG_F77]) -])# AC_LIBTOOL_F77 - - -# _LT_AC_LANG_F77 -# --------------- -AC_DEFUN([_LT_AC_LANG_F77], -[AC_REQUIRE([AC_PROG_F77]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) -])# _LT_AC_LANG_F77 - - -# AC_LIBTOOL_GCJ -# -------------- -# enable support for GCJ libraries -AC_DEFUN([AC_LIBTOOL_GCJ], -[AC_REQUIRE([_LT_AC_LANG_GCJ]) -])# AC_LIBTOOL_GCJ - - -# _LT_AC_LANG_GCJ -# --------------- -AC_DEFUN([_LT_AC_LANG_GCJ], -[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], - [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], - [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], - [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) -])# _LT_AC_LANG_GCJ - - -# AC_LIBTOOL_RC -# ------------- -# enable support for Windows resource files -AC_DEFUN([AC_LIBTOOL_RC], -[AC_REQUIRE([LT_AC_PROG_RC]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) -])# AC_LIBTOOL_RC - - -# AC_LIBTOOL_LANG_C_CONFIG -# ------------------------ -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) -AC_DEFUN([_LT_AC_LANG_C_CONFIG], -[lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF - -# Report which library types will actually be built -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_C_CONFIG - - -# AC_LIBTOOL_LANG_CXX_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) -AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], -[AC_LANG_PUSH(C++) -AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Dependencies to place before and after the object being linked: -_LT_AC_TAGVAR(predep_objects, $1)= -_LT_AC_TAGVAR(postdep_objects, $1)= -_LT_AC_TAGVAR(predeps, $1)= -_LT_AC_TAGVAR(postdeps, $1)= -_LT_AC_TAGVAR(compiler_lib_search_path, $1)= -_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)= - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - $as_unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - $as_unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' -else - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -fi - -if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - AC_PROG_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - -else - GXX=no - with_gnu_ld=no - wlarc= -fi - -# PORTME: fill in a description of your system's C++ link characteristics -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -_LT_AC_TAGVAR(ld_shlibs, $1)=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - darwin* | rhapsody*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" - if test "$GXX" = yes ; then - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - freebsd[[12]]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - freebsd-elf*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - ;; - gnu*) - ;; - hpux9*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) ;; - *) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - interix[[3-9]]*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc*) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - m88k*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - osf3*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ - $rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - # So that behaviour is only enabled if SCOABSPATH is set to a - # non-empty value in the environment. Most likely only useful for - # creating official distributions of packages. - # This is a hack until libtool officially supports absolute path - # names for shared libraries. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; -esac -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_AC_TAGVAR(GCC, $1)="$GXX" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_POSTDEP_PREDEP($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -])# AC_LIBTOOL_LANG_CXX_CONFIG - -# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) -# ------------------------------------ -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - # - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - if test "$solaris_use_stlport4" != yes; then - _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) -case " $_LT_AC_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac -])# AC_LIBTOOL_POSTDEP_PREDEP - -# AC_LIBTOOL_LANG_F77_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) -AC_DEFUN([_LT_AC_LANG_F77_CONFIG], -[AC_REQUIRE([AC_PROG_F77]) -AC_LANG_PUSH(Fortran 77) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="\ - subroutine t - return - end -" - -# Code to be used in simple link tests -lt_simple_link_test_code="\ - program t - end -" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${F77-"f77"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; -aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -_LT_AC_TAGVAR(GCC, $1)="$G77" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_F77_CONFIG - - -# AC_LIBTOOL_LANG_GCJ_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) -AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], -[AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${GCJ-"gcj"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds - -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_RESTORE -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_GCJ_CONFIG - - -# AC_LIBTOOL_LANG_RC_CONFIG -# ------------------------- -# Ensure that the configuration vars for the Windows resource compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) -AC_DEFUN([_LT_AC_LANG_RC_CONFIG], -[AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${RC-"windres"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_RESTORE -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_RC_CONFIG - - -# AC_LIBTOOL_CONFIG([TAGNAME]) -# ---------------------------- -# If TAGNAME is not passed, then create an initial libtool script -# with a default configuration from the untagged config vars. Otherwise -# add code to config.status for appending the configuration named by -# TAGNAME from the matching tagged config vars. -AC_DEFUN([AC_LIBTOOL_CONFIG], -[# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - _LT_AC_TAGVAR(compiler, $1) \ - _LT_AC_TAGVAR(CC, $1) \ - _LT_AC_TAGVAR(LD, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ - _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ - _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ - _LT_AC_TAGVAR(old_archive_cmds, $1) \ - _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ - _LT_AC_TAGVAR(predep_objects, $1) \ - _LT_AC_TAGVAR(postdep_objects, $1) \ - _LT_AC_TAGVAR(predeps, $1) \ - _LT_AC_TAGVAR(postdeps, $1) \ - _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ - _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \ - _LT_AC_TAGVAR(archive_cmds, $1) \ - _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ - _LT_AC_TAGVAR(postinstall_cmds, $1) \ - _LT_AC_TAGVAR(postuninstall_cmds, $1) \ - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ - _LT_AC_TAGVAR(allow_undefined_flag, $1) \ - _LT_AC_TAGVAR(no_undefined_flag, $1) \ - _LT_AC_TAGVAR(export_symbols_cmds, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ - _LT_AC_TAGVAR(hardcode_automatic, $1) \ - _LT_AC_TAGVAR(module_cmds, $1) \ - _LT_AC_TAGVAR(module_expsym_cmds, $1) \ - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ - _LT_AC_TAGVAR(fix_srcfile_path, $1) \ - _LT_AC_TAGVAR(exclude_expsyms, $1) \ - _LT_AC_TAGVAR(include_expsyms, $1); do - - case $var in - _LT_AC_TAGVAR(old_archive_cmds, $1) | \ - _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ - _LT_AC_TAGVAR(archive_cmds, $1) | \ - _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ - _LT_AC_TAGVAR(module_cmds, $1) | \ - _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ - _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\[$]0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` - ;; - esac - -ifelse([$1], [], - [cfgfile="${ofile}T" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - $rm -f "$cfgfile" - AC_MSG_NOTICE([creating $ofile])], - [cfgfile="$ofile"]) - - cat <<__EOF__ >> "$cfgfile" -ifelse([$1], [], -[#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG], -[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) - -# Is the compiler the GNU C compiler? -with_gcc=$_LT_AC_TAGVAR(GCC, $1) - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_[]_LT_AC_TAGVAR(LD, $1) - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) - -# Commands used to build and install a shared archive. -archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) -archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) -module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) - -# The directories searched by this compiler when creating a shared -# library -compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1) - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to yes if exported symbols are required. -always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) - -# The commands to list exported symbols. -export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) - -# Symbols that must always be exported. -include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) - -ifelse([$1],[], -[# ### END LIBTOOL CONFIG], -[# ### END LIBTOOL TAG CONFIG: $tagname]) - -__EOF__ - -ifelse([$1],[], [ - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -]) -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi -])# AC_LIBTOOL_CONFIG - - -# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl - -_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - - AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI - - -# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -# --------------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], -[AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([LT_AC_PROG_SED]) -AC_REQUIRE([AC_PROG_NM]) -AC_REQUIRE([AC_OBJEXT]) -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -linux* | k*bsd*-gnu) - if test "$host_cpu" = ia64; then - symcode='[[ABCDGIRSTW]]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[[]] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi -]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE - - -# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) -# --------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], -[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= - -AC_MSG_CHECKING([for $compiler option to produce PIC]) - ifelse([$1],[CXX],[ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - icpc* | ecpc*) - # Intel C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler. - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - hpux9* | hpux10* | hpux11*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - newsos6) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - esac - ;; - esac - ;; - - osf3* | osf4* | osf5*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then - AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], - _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1), - [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" -AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) -]) - - -# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) -# ------------------------------------ -# See if the linker supports building shared libraries. -AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -ifelse([$1],[CXX],[ - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - ;; - *) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] -],[ - runpath_var= - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)= - _LT_AC_TAGVAR(archive_expsym_cmds, $1)= - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_minus_L, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown - _LT_AC_TAGVAR(hardcode_automatic, $1)=no - _LT_AC_TAGVAR(module_cmds, $1)= - _LT_AC_TAGVAR(module_expsym_cmds, $1)= - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_AC_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - _LT_CC_BASENAME([$compiler]) - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - interix[[3-9]]*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - # see comment about different semantics on the GNU ld section - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - bsdi[[45]]*) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_AC_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) - then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac -])# AC_LIBTOOL_PROG_LD_SHLIBS - - -# _LT_AC_FILE_LTDLL_C -# ------------------- -# Be careful that the start marker always follows a newline. -AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include -# #undef WIN32_LEAN_AND_MEAN -# #include -# -# #ifndef __CYGWIN__ -# # ifdef __CYGWIN32__ -# # define __CYGWIN__ __CYGWIN32__ -# # endif -# #endif -# -# #ifdef __cplusplus -# extern "C" { -# #endif -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# #ifdef __cplusplus -# } -# #endif -# -# #ifdef __CYGWIN__ -# #include -# DECLARE_CYGWIN_DLL( DllMain ); -# #endif -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ -])# _LT_AC_FILE_LTDLL_C - - -# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) -# --------------------------------- -AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) - - -# old names -AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) -AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) -AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) - -# This is just to silence aclocal about the macro not being used -ifelse([AC_DISABLE_FAST_INSTALL]) - -AC_DEFUN([LT_AC_PROG_GCJ], -[AC_CHECK_TOOL(GCJ, gcj, no) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS) -]) - -AC_DEFUN([LT_AC_PROG_RC], -[AC_CHECK_TOOL(RC, windres, no) -]) - - -# Cheap backport of AS_EXECUTABLE_P and required macros -# from Autoconf 2.59; we should not use $as_executable_p directly. - -# _AS_TEST_PREPARE -# ---------------- -m4_ifndef([_AS_TEST_PREPARE], -[m4_defun([_AS_TEST_PREPARE], -[if test -x / >/dev/null 2>&1; then - as_executable_p='test -x' -else - as_executable_p='test -f' -fi -])])# _AS_TEST_PREPARE - -# AS_EXECUTABLE_P -# --------------- -# Check whether a file is executable. -m4_ifndef([AS_EXECUTABLE_P], -[m4_defun([AS_EXECUTABLE_P], -[AS_REQUIRE([_AS_TEST_PREPARE])dnl -$as_executable_p $1[]dnl -])])# AS_EXECUTABLE_P - -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -# LT_AC_PROG_SED -# -------------- -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -AC_DEFUN([LT_AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -]) - -dnl -*- Autoconf -*- -dnl Copyright (C) 1993-2008 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible, Marcus Daniels, Sam Steingold. - -AC_PREREQ(2.13) - -AC_DEFUN([CL_PROG_LN], -[AC_CACHE_CHECK(how to make hard links, cl_cv_prog_LN, [ -rm -f conftestdata conftestfile -echo data > conftestfile -if ln conftestfile conftestdata 2>/dev/null; then - cl_cv_prog_LN=ln -else - cl_cv_prog_LN="cp -p" -fi -rm -f conftestdata conftestfile -]) -LN="$cl_cv_prog_LN" -AC_SUBST(LN)dnl -]) - -AC_DEFUN([CL_PROG_LN_S], -[AC_REQUIRE([CL_PROG_LN])dnl -dnl Make a symlink if possible; otherwise try a hard link. On filesystems -dnl which support neither symlink nor hard link, use a plain copy. -AC_CACHE_CHECK([whether ln -s works], [cl_cv_prog_LN_S_works], [dnl -rm -f conftestdata -if ln -s X conftestdata 2>/dev/null; then - cl_cv_prog_LN_S_works=yes -else - cl_cv_prog_LN_S_works=no -fi -rm -f conftestdata -]) -if test $cl_cv_prog_LN_S_works = yes; then - LN_S="ln -s" -else - LN_S="$cl_cv_prog_LN" -fi -AC_SUBST(LN_S)]) - -dnl -*- Autoconf -*- -dnl Copyright (C) 1993-2009 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible, Marcus Daniels, Sam Steingold. - -AC_PREREQ(2.57) - -AC_DEFUN([CL_MACH_VM], -[CL_LINK_CHECK([vm_allocate], cl_cv_func_vm, - , [vm_allocate(); task_self();], -AC_DEFINE([HAVE_MACH_VM],[],[have vm_allocate() and task_self() functions])dnl -)]) - -dnl -*- Autoconf -*- -dnl Copyright (C) 1993-2009 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible, Marcus Daniels, Sam Steingold. - -AC_PREREQ(2.57) - -AC_DEFUN([CL_MMAP], -[AC_BEFORE([$0], [CL_MUNMAP])AC_BEFORE([$0], [CL_MPROTECT]) -AC_CHECK_HEADER(sys/mman.h, , no_mmap=1)dnl -if test -z "$no_mmap"; then -AC_CHECK_FUNC(mmap, , no_mmap=1)dnl -if test -z "$no_mmap"; then -AC_DEFINE([HAVE_MMAP],[],[have and the mmap() function]) -AC_CACHE_CHECK(for working mmap, cl_cv_func_mmap_works, [ -case "$host" in - i[34567]86-*-sysv4*) - # UNIX_SYSV_UHC_1 - avoid=0x08000000 ;; - mips-sgi-irix* | mips-dec-ultrix*) - # UNIX_IRIX, UNIX_DEC_ULTRIX - avoid=0x10000000 ;; - rs6000-ibm-aix*) - # UNIX_AIX - avoid=0x20000000 ;; - *) - avoid=0 ;; -esac -mmap_prog_1=' -#include -#ifdef HAVE_UNISTD_H -#include -#endif -#include -#include -#include -int main () { -' -mmap_prog_2="#define bits_to_avoid $avoid"' -#define my_shift 24 -#define my_low 1 -#ifdef FOR_SUN4_29 -#define my_high 31 -#define my_size 32768 /* hope that 32768 is a multiple of the page size */ -/* i*32 KB for i=1..31 gives a total of 15.5 MB, which is close to what we need */ -#else -#define my_high 64 -#define my_size 8192 /* hope that 8192 is a multiple of the page size */ -/* i*8 KB for i=1..64 gives a total of 16.25 MB, which is close to what we need */ -#endif - {long i; -#define i_ok(i) ((i) & (bits_to_avoid >> my_shift) == 0) - for (i=my_low; i<=my_high; i++) - if (i_ok(i)) - { caddr_t addr = (caddr_t)(i << my_shift); -/* Check for 8 MB, not 16 MB. This is more likely to work on Solaris 2. */ -#if bits_to_avoid - long size = i*my_size; -#else - long size = ((i+1)/2)*my_size; -#endif - if (mmap(addr,size,PROT_READ|PROT_WRITE,flags|MAP_FIXED,fd,0) == (void*)-1) exit(1); - } -#define x(i) *(unsigned char *) ((i<=my_low; i--) if (i_ok(i)) { if (x(i) != y(i)) exit(1); } - exit(0); -}} -' -AC_TRY_RUN(GL_NOCRASH[$mmap_prog_1 - int flags = MAP_ANON | MAP_PRIVATE; - int fd = -1; - nocrash_init(); -$mmap_prog_2 -], have_mmap_anon=1 -cl_cv_func_mmap_anon=yes, , -: # When cross-compiling, don't assume anything. -) -AC_TRY_RUN(GL_NOCRASH[$mmap_prog_1 - int flags = MAP_ANONYMOUS | MAP_PRIVATE; - int fd = -1; - nocrash_init(); -$mmap_prog_2 -], have_mmap_anon=1 -cl_cv_func_mmap_anonymous=yes, , -: # When cross-compiling, don't assume anything. -) -AC_TRY_RUN(GL_NOCRASH[$mmap_prog_1 -#ifndef MAP_FILE -#define MAP_FILE 0 -#endif - int flags = MAP_FILE | MAP_PRIVATE; - int fd = open("/dev/zero",O_RDONLY,0666); - if (fd<0) exit(1); - nocrash_init(); -$mmap_prog_2 -], have_mmap_devzero=1 -cl_cv_func_mmap_devzero=yes, -retry_mmap=1, -: # When cross-compiling, don't assume anything. -) -if test -n "$retry_mmap"; then -AC_TRY_RUN(GL_NOCRASH[#define FOR_SUN4_29 -$mmap_prog_1 -#ifndef MAP_FILE -#define MAP_FILE 0 -#endif - int flags = MAP_FILE | MAP_PRIVATE; - int fd = open("/dev/zero",O_RDONLY,0666); - if (fd<0) exit(1); - nocrash_init(); -$mmap_prog_2 -], have_mmap_devzero=1 -cl_cv_func_mmap_devzero_sun4_29=yes, , -: # When cross-compiling, don't assume anything. -) -fi -if test -n "$have_mmap_anon" -o -n "$have_mmap_devzero"; then -cl_cv_func_mmap_works=yes -else -cl_cv_func_mmap_works=no -fi -]) -if test "$cl_cv_func_mmap_anon" = yes; then -AC_DEFINE([HAVE_MMAP_ANON],[],[ defines MAP_ANON and mmaping with MAP_ANON works]) -fi -if test "$cl_cv_func_mmap_anonymous" = yes; then -AC_DEFINE([HAVE_MMAP_ANONYMOUS],[],[ defines MAP_ANONYMOUS and mmaping with MAP_ANONYMOUS works]) -fi -if test "$cl_cv_func_mmap_devzero" = yes; then -AC_DEFINE([HAVE_MMAP_DEVZERO],[],[mmaping of the special device /dev/zero works]) -fi -if test "$cl_cv_func_mmap_devzero_sun4_29" = yes; then -AC_DEFINE([HAVE_MMAP_DEVZERO_SUN4_29],[],[mmaping of the special device /dev/zero works, but only on addresses < 2^29]) -fi -fi -fi -]) - -dnl -*- Autoconf -*- -dnl Copyright (C) 1993-2009 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible, Marcus Daniels, Sam Steingold. - -AC_PREREQ(2.57) - -AC_DEFUN([CL_MPROTECT], -[AC_REQUIRE([CL_GETPAGESIZE])dnl -AC_REQUIRE([CL_MMAP])dnl -AC_CHECK_FUNCS(mprotect)dnl -if test $ac_cv_func_mprotect = yes; then -AC_CACHE_CHECK(for working mprotect, cl_cv_func_mprotect_works, [ -mprotect_prog=' -#include -/* declare malloc() */ -#include -#ifdef HAVE_UNISTD_H -#include -#endif -/* declare getpagesize() and mprotect() */ -#include -#ifndef HAVE_GETPAGESIZE -#include -#define getpagesize() PAGESIZE -#else -]AC_LANG_EXTERN[ -RETGETPAGESIZETYPE getpagesize (void); -#endif -char foo; -int main () { - unsigned long pagesize = getpagesize(); -#define page_align(address) (char*)((unsigned long)(address) & -pagesize) -' -AC_TRY_RUN([$mprotect_prog - if ((pagesize-1) & pagesize) exit(1); - exit(0); }], , no_mprotect=1, -# When cross-compiling, don't assume anything. -no_mprotect=1) -mprotect_prog="$mprotect_prog"' - char* area = (char*) malloc(6*pagesize); - char* fault_address = area + pagesize*7/2; -' -if test -z "$no_mprotect"; then -AC_TRY_RUN(GL_NOCRASH[$mprotect_prog - nocrash_init(); - if (mprotect(page_align(fault_address),pagesize,PROT_NONE) < 0) exit(0); - foo = *fault_address; /* this should cause an exception or signal */ - exit(0); }], no_mprotect=1, , -: # When cross-compiling, don't assume anything. -) -fi -if test -z "$no_mprotect"; then -AC_TRY_RUN(GL_NOCRASH[$mprotect_prog - nocrash_init(); - if (mprotect(page_align(fault_address),pagesize,PROT_NONE) < 0) exit(0); - *fault_address = 'z'; /* this should cause an exception or signal */ - exit(0); }], no_mprotect=1, , -: # When cross-compiling, don't assume anything. -) -fi -if test -z "$no_mprotect"; then -AC_TRY_RUN(GL_NOCRASH[$mprotect_prog - nocrash_init(); - if (mprotect(page_align(fault_address),pagesize,PROT_READ) < 0) exit(0); - *fault_address = 'z'; /* this should cause an exception or signal */ - exit(0); }], no_mprotect=1, , -: # When cross-compiling, don't assume anything. -) -fi -if test -z "$no_mprotect"; then -AC_TRY_RUN(GL_NOCRASH[$mprotect_prog - nocrash_init(); - if (mprotect(page_align(fault_address),pagesize,PROT_READ) < 0) exit(1); - if (mprotect(page_align(fault_address),pagesize,PROT_READ|PROT_WRITE) < 0) exit(1); - *fault_address = 'z'; /* this should not cause an exception or signal */ - exit(0); }], , no_mprotect=1, -: # When cross-compiling, don't assume anything. -) -fi -if test -z "$no_mprotect"; then - cl_cv_func_mprotect_works=yes -else - cl_cv_func_mprotect_works=no -fi -]) -if test $cl_cv_func_mprotect_works = yes; then - AC_DEFINE([HAVE_WORKING_MPROTECT],[],[have a working mprotect() function]) -fi -fi -]) - -dnl -*- Autoconf -*- -dnl Copyright (C) 1993-2009 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible, Marcus Daniels, Sam Steingold. - -AC_PREREQ(2.13) - -AC_DEFUN([PCCSR_DOC],[for pcc non-reentrant struct return convention]) -AC_DEFUN([FFCALL_PCC_STRUCT_RETURN],[dnl -AC_CACHE_CHECK(PCCSR_DOC, ffcall_cv_c_struct_return_static, [dnl -save_CFLAGS="$CFLAGS" -test $CC_GCC = true && CFLAGS="$CFLAGS -O0" -AC_TRY_RUN(GL_NOCRASH[ -typedef struct { int a; int b; int c; int d; int e; } foo; -foo foofun () { static foo foopi = {3141,5926,5358,9793,2385}; return foopi; } -foo* (*fun) () = (foo* (*) ()) foofun; -int main() -{ nocrash_init(); - {foo foo1; - foo* fooptr1; - foo foo2; - foo* fooptr2; - foo1 = foofun(); fooptr1 = (*fun)(&foo1); - foo2 = foofun(); fooptr2 = (*fun)(&foo2); - return !(fooptr1 == fooptr2 && fooptr1->c == 5358); -}}], ffcall_cv_c_struct_return_static=yes, ffcall_cv_c_struct_return_static=no, -dnl When cross-compiling, don't assume anything. -dnl There are even weirder return value passing conventions than pcc. -ffcall_cv_c_struct_return_static="guessing no") -CFLAGS="$save_CFLAGS" -]) -case "$ffcall_cv_c_struct_return_static" in - *yes) AC_DEFINE([__PCC_STRUCT_RETURN__], [], PCCSR_DOC) ;; - *no) ;; -esac -]) - -dnl -*- Autoconf -*- -dnl Copyright (C) 1993-2002, 2007-2008 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible, Marcus Daniels, Sam Steingold. - -AC_PREREQ(2.13) - -dnl CL_PROTO(IDENTIFIER, ACTION-IF-NOT-FOUND, FINAL-PROTOTYPE) -AC_DEFUN([CL_PROTO], -[AC_MSG_CHECKING([for $1 declaration]) -AC_CACHE_VAL(cl_cv_proto_[$1], [$2 -cl_cv_proto_$1="$3"]) -cl_cv_proto_$1=`echo "[$]cl_cv_proto_$1" | tr -s ' ' | sed -e 's/( /(/'` -AC_MSG_RESULT([$]{ac_t:- - }[$]cl_cv_proto_$1) -]) - -dnl CL_PROTO_RET(INCLUDES, DECL, CACHE-ID, TYPE-IF-OK, TYPE-IF-FAILS) -AC_DEFUN([CL_PROTO_RET], -[AC_TRY_COMPILE([$1] -AC_LANG_EXTERN -[$2 -], [], $3="$4", $3="$5") -]) - -dnl CL_PROTO_TRY(INCLUDES, DECL, ACTION-IF-OK, ACTION-IF-FAILS) -AC_DEFUN([CL_PROTO_TRY], -[AC_TRY_COMPILE([$1] -AC_LANG_EXTERN -[$2 -], [], [$3], [$4]) -]) - -dnl CL_PROTO_CONST(INCLUDES, DECL, CACHE-ID) -AC_DEFUN([CL_PROTO_CONST], -[CL_PROTO_TRY([$1], [$2], $3="", $3="const")] -) - -dnl CL_PROTO_MISSING(function_name) -AC_DEFUN([CL_PROTO_MISSING], -[AC_MSG_FAILURE([please report the $1() declaration on your platform to $PACKAGE_NAME developers at $PACKAGE_BUGREPORT])]) - -m4_define([CONST_VARIANTS],['' 'const' '__const']) -m4_define([SIZE_VARIANTS],['unsigned int' 'int' 'unsigned long' 'long' 'size_t' 'socklen_t']) - -dnl -*- Autoconf -*- -dnl Copyright (C) 1993-2009 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible, Marcus Daniels, Sam Steingold. - -AC_PREREQ(2.57) - -AC_DEFUN([CL_SHM_H], -[AC_BEFORE([$0], [CL_SHM_RMID])dnl -AC_CHECK_HEADERS(sys/shm.h) -if test $ac_cv_header_sys_shm_h = yes; then -AC_CHECK_HEADERS(sys/ipc.h) -fi -]) - -AC_DEFUN([CL_SHM], -[AC_BEFORE([$0], [CL_SHM_RMID])dnl -if test "$ac_cv_header_sys_shm_h" = yes -a "$ac_cv_header_sys_ipc_h" = yes; then -# This test is from Marcus Daniels -AC_CACHE_CHECK(for working shared memory, cl_cv_sys_shm_works, [ -AC_TRY_RUN([#include -#include -#include -/* try attaching a single segment to multiple addresses */ -#define segsize 0x10000 -#define attaches 128 -#define base_addr 0x01000000 -int main () -{ int shmid, i; char* addr; char* result; - if ((shmid = shmget(IPC_PRIVATE,segsize,0400)) < 0) exit(1); - for (i=0, addr = (char*)0x01000000; i and and shared memory works]) - AC_CHECK_HEADERS(sys/sysmacros.h) - ;; - *) ;; -esac -]) - -dnl -*- Autoconf -*- -dnl Copyright (C) 1993-2009 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible, Marcus Daniels, Sam Steingold. - -AC_PREREQ(2.13) - -AC_DEFUN([SSR_DOC],[whether small structs are returned in registers]) -AC_DEFUN([FFCALL_SMALL_STRUCT_RETURN],[dnl -AC_CACHE_CHECK(SSR_DOC,ffcall_cv_c_struct_return_small,[AC_TRY_RUN(GL_NOCRASH[ -typedef struct { long x; } foo; long y; -foo foofun () { foo f; f.x = y; return f; } -long (*fun) () = (long (*) ()) foofun; -int main() { - nocrash_init(); - y = 37; if ((*fun)() != 37) return 1; - y = 55; if ((*fun)() != 55) return 1; - return 0; -}], ffcall_cv_c_struct_return_small=yes, ffcall_cv_c_struct_return_small=no, -dnl When cross-compiling, don't assume anything. -dnl There are even weirder return value passing conventions than pcc. -ffcall_cv_c_struct_return_small="guessing no") -]) -case "$ffcall_cv_c_struct_return_small" in - *yes) AC_DEFINE([__SMALL_STRUCT_RETURN__], [], SSR_DOC) ;; - *no) ;; -esac -]) - DELETED ffcall/autoconf/CVS/Entries Index: ffcall/autoconf/CVS/Entries ================================================================== --- ffcall/autoconf/CVS/Entries +++ /dev/null @@ -1,1 +0,0 @@ -D DELETED ffcall/autoconf/CVS/Repository Index: ffcall/autoconf/CVS/Repository ================================================================== --- ffcall/autoconf/CVS/Repository +++ /dev/null @@ -1,1 +0,0 @@ -ffcall/autoconf DELETED ffcall/autoconf/CVS/Root Index: ffcall/autoconf/CVS/Root ================================================================== --- ffcall/autoconf/CVS/Root +++ /dev/null @@ -1,1 +0,0 @@ -:pserver:anonymous@cvs.savannah.gnu.org:/sources/libffcall DELETED ffcall/avcall/CVS/Entries Index: ffcall/avcall/CVS/Entries ================================================================== --- ffcall/avcall/CVS/Entries +++ /dev/null @@ -1,1 +0,0 @@ -D DELETED ffcall/avcall/CVS/Repository Index: ffcall/avcall/CVS/Repository ================================================================== --- ffcall/avcall/CVS/Repository +++ /dev/null @@ -1,1 +0,0 @@ -ffcall/avcall DELETED ffcall/avcall/CVS/Root Index: ffcall/avcall/CVS/Root ================================================================== --- ffcall/avcall/CVS/Root +++ /dev/null @@ -1,1 +0,0 @@ -:pserver:anonymous@cvs.savannah.gnu.org:/sources/libffcall Index: ffcall/callback/trampoline_r/trampoline.c ================================================================== --- ffcall/callback/trampoline_r/trampoline.c +++ ffcall/callback/trampoline_r/trampoline.c @@ -62,10 +62,15 @@ #ifndef CODE_EXECUTABLE /* configure guesses wrong?? */ #define CODE_EXECUTABLE #endif #endif #endif + +/* As of Windows XP SP 2, malloc'd memory is not executable */ +#ifdef _WIN32 +#undef CODE_EXECUTABLE +#endif #ifndef CODE_EXECUTABLE /* How do we make the trampoline's code executable? */ #if defined(HAVE_MACH_VM) || defined(__convex__) || defined(HAVE_WORKING_MPROTECT) || defined(HAVE_SYS_M88KBCS_H) /* mprotect() [or equivalent] the malloc'ed area. */ @@ -84,11 +89,15 @@ #else #ifdef HAVE_SHM /* Use an shmat'ed page. */ #define EXECUTABLE_VIA_SHM #else +#ifdef _WIN32 +/* Use VirtualAlloc */ +#else ?? +#endif #endif #endif #endif #endif @@ -387,10 +396,15 @@ if (shmid<0) { page = (char*)(-1); } else { page = shmat(shmid, 0, 0); shmctl(shmid, IPC_RMID, 0); } #endif +#ifdef _WIN32 + page = VirtualAlloc(NULL, pagesize, MEM_COMMIT, PAGE_EXECUTE_READWRITE); + if (page == 0) + { page = (char*)(-1); } +#endif if (page == (char*)(-1)) { fprintf(stderr,"trampoline: Out of virtual memory!\n"); abort(); } /* Fill it with free trampolines. */ { char** last = &freelist; char* page_end = page + pagesize; Index: ffcall/trampoline/trampoline.c ================================================================== --- ffcall/trampoline/trampoline.c +++ ffcall/trampoline/trampoline.c @@ -58,10 +58,15 @@ #ifndef CODE_EXECUTABLE /* configure guesses wrong?? */ #define CODE_EXECUTABLE #endif #endif #endif + +/* As of Windows XP SP 2, malloc'd memory is not executable */ +#ifdef _WIN32 +#undef CODE_EXECUTABLE +#endif #ifndef CODE_EXECUTABLE /* How do we make the trampoline's code executable? */ #if defined(HAVE_MACH_VM) || defined(__convex__) || defined(HAVE_WORKING_MPROTECT) || defined(HAVE_SYS_M88KBCS_H) /* mprotect() [or equivalent] the malloc'ed area. */ @@ -80,11 +85,15 @@ #else #ifdef HAVE_SHM /* Use an shmat'ed page. */ #define EXECUTABLE_VIA_SHM #else +#ifdef _WIN32 +/* Use VirtualAlloc */ +#else ?? +#endif #endif #endif #endif #endif @@ -369,10 +378,15 @@ if (shmid<0) { page = (char*)(-1); } else { page = shmat(shmid, 0, 0); shmctl(shmid, IPC_RMID, 0); } #endif +#ifdef _WIN32 + page = VirtualAlloc(NULL, pagesize, MEM_COMMIT, PAGE_EXECUTE_READWRITE); + if (page == 0) + { page = (char*)(-1); } +#endif if (page == (char*)(-1)) { fprintf(stderr,"trampoline: Out of virtual memory!\n"); abort(); } /* Fill it with free trampolines. */ { char** last = &freelist; char* page_end = page + pagesize; DELETED iup/iup-base.scm Index: iup/iup-base.scm ================================================================== --- iup/iup-base.scm +++ /dev/null @@ -1,672 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n" - "#include \n" - "#include \n" - "typedef struct Iclass_ Iclass;\n" - "struct Ihandle_ { char sig[4]; Iclass *iclass; /* ... */ } ;\n" - "extern char *iupClassCallbackGetFormat(Iclass *iclass, const char *name);\n") - -(define *ihandle-tag* "Ihandle") -(define ihandle? (cut tagged-pointer? <> *ihandle-tag*)) - -(define (ihandle->pointer nonnull?) - (if nonnull? - (lambda (handle) - (ensure ihandle? handle) - handle) - (lambda (handle) - (ensure (disjoin not ihandle?) handle) - handle))) - -(define (pointer->ihandle nonnull?) - (if nonnull? - (lambda (handle) - (ensure pointer? handle) - (tag-pointer handle *ihandle-tag*)) - (lambda (handle) - (and handle (tag-pointer handle *ihandle-tag*))))) - -(define (ihandle-list->pointer-vector lst) - (let ([ptrs (make-pointer-vector (add1 (length lst)) #f)]) - (do-ec (:list handle (index i) lst) - (begin - (ensure ihandle? handle) - (pointer-vector-set! ptrs i handle))) - ptrs)) - -(define (istatus->integer status) - (case status - [(error) +1] - [(opened invalid ignore) -1] - [(default) -2] - [(close #f) -3] - [(continue) -4] - [else (if (integer? status) status 0)])) - -(define (integer->istatus status) - (case status - [(+1) 'error] - [( 0) #t] - [(-1) 'ignore] - [(-2) 'default] - [(-3) #f] - [(-4) 'continue] - [else status])) - -(define (iname->string default-case) - (let ([change-case - (case default-case - [(upcase) string-upcase] - [(downcase) string-downcase] - [else (error 'iname->string "unsupported default case" default-case)])]) - (lambda (name) - (cond - [(or (not name) (string? name)) - name] - [(symbol? name) - (change-case (string-translate (symbol->string name) #\- #\_))] - [else - (error 'iname->string "bad name" name)])))) - -(define (string->iname default-case) - (let ([specials - (irregex - (case default-case - [(upcase) "[-a-z]"] - [(downcase) "[-A-Z]"] - [else (error 'string->iname "unsupported default case" default-case)]))]) - (lambda (name) - (cond - [(or (not name) (irregex-search specials name)) - name] - [else - (string->symbol (string-downcase (string-translate name #\_ #\-)))])))) - -(include "iup-types.scm") - -;; }}} - -;; {{{ Support macros and functions - -(define-syntax :children - (syntax-rules () - [(:children cc child handle) - (:do cc ([child (child-ref handle 0)]) child ((sibling child)))])) - -(define-syntax optional-args - (syntax-rules () - [(optional-args [name default] ...) - (lambda (args) (let-optionals args ([name default] ...) (list name ...)))])) - -(define ((make-constructor-procedure proc #!key [apply-args values]) . args) - (let more ([keys '()] [key-args '()] [pos-args '()] [rest args]) - (cond - [(null? rest) - (let ([handle (apply proc (apply-args (reverse! pos-args)))]) - (do-ec (:parallel (:list key keys) (:list arg key-args)) - ((if (procedure? arg) callback-set! attribute-set!) handle key arg)) - handle)] - [(keyword? (car rest)) - (more - (cons (car rest) keys) (cons (cadr rest) key-args) pos-args - (cddr rest))] - [else - (more - keys key-args (cons (car rest) pos-args) - (cdr rest))]))) - -;; }}} - -;; {{{ System functions - -(define iup-version - (foreign-lambda c-string "IupVersion")) - -(define load/led - (letrec ([load/raw (foreign-lambda c-string "IupLoad" c-string)]) - (lambda (file) - (and-let* ([status (load/raw file)]) - (error 'load/led status)) - (void)))) - -;; }}} - -;; {{{ Attribute functions - -(define attribute-set! - (letrec ([set/string! (foreign-safe-lambda void "IupStoreAttribute" ihandle iname/upcase c-string)] - [set/handle! (foreign-safe-lambda void "IupSetAttributeHandle" ihandle iname/upcase ihandle)]) - (lambda (handle name value) - (cond - [(or (not value) (string? value)) - (set/string! handle name value)] - [(ihandle? value) - (set/handle! handle name value)] - [(boolean? value) - (set/string! handle name (if value "YES" "NO"))] - [else - (set/string! handle name (->string value))])))) - -(define attribute-reset! - (foreign-safe-lambda void "IupResetAttribute" ihandle iname/upcase)) - -(define attribute - (getter-with-setter - (foreign-safe-lambda c-string "IupGetAttribute" ihandle iname/upcase) - attribute-set!)) - -(define handle-name-set! - (letrec ([handle-set! (foreign-lambda ihandle "IupSetHandle" iname/downcase ihandle)]) - (lambda (handle name) - (handle-set! (or name (handle-name handle)) (and name handle))))) - -(define handle-name - (getter-with-setter - (foreign-lambda iname/downcase "IupGetName" nonnull-ihandle) - handle-name-set!)) - -(define handle-ref - (foreign-lambda ihandle "IupGetHandle" iname/downcase)) - -;; }}} - -;; {{{ Event functions - -(define main-loop - (letrec ([loop (foreign-safe-lambda istatus "IupMainLoop")]) - (lambda () - (let ([status (loop)]) - (case status - [(#t) (void)] - [else (error 'main-loop (format "error in IUP main loop (~s)" status))]))))) - -(define main-loop-step - (letrec ([loop-step (foreign-safe-lambda istatus "IupLoopStep")] - [loop-step/wait (foreign-safe-lambda istatus "IupLoopStepWait")]) - (lambda (poll?) - (let ([status ((if poll? loop-step loop-step/wait))]) - (case status - [(error) (error 'main-loop-step "error in IUP main loop")] - [else status]))))) - -(define main-loop-level - (foreign-lambda int "IupMainLoopLevel")) - -(define main-loop-exit - (foreign-lambda void "IupExitLoop")) - -(define main-loop-flush - (foreign-safe-lambda void "IupFlush")) - -(define-values (registry-set! registry registry-destroy!) - (letrec ([registry-cell-set! - (foreign-lambda* void ([nonnull-ihandle handle] [c-pointer cell]) - "IupSetAttribute(handle, \"CHICKEN_REGISTRY\", cell);")] - [registry-cell - (foreign-lambda* c-pointer ([nonnull-ihandle handle]) - "C_return(IupGetAttribute(handle, \"CHICKEN_REGISTRY\"));")] - [make-immobile-cell - (foreign-lambda* nonnull-c-pointer ([scheme-object v]) - "void *cell = CHICKEN_new_gc_root();\n" - "CHICKEN_gc_root_set(cell, v);\n" - "C_return(cell);\n")] - [cell-destroy! - (foreign-lambda void "CHICKEN_delete_gc_root" nonnull-c-pointer)] - [cell-set! - (foreign-lambda void "CHICKEN_gc_root_set" nonnull-c-pointer scheme-object)] - [cell-ref - (foreign-lambda scheme-object "CHICKEN_gc_root_ref" nonnull-c-pointer)]) - (values - (lambda (handle value) - (cond - [(registry-cell handle) => (cut cell-set! <> value)] - [else (registry-cell-set! handle (make-immobile-cell value))])) - (lambda (handle) - (cond - [(registry-cell handle) => cell-ref] - [else '()])) - (lambda (handle) - (cond - [(registry-cell handle) - => (lambda (cell) - (registry-cell-set! handle #f) - (cell-destroy! cell))]))))) - -(define-external (callback_entry [c-pointer cell] [c-pointer frame]) void - (define cell-ref - (foreign-lambda scheme-object "CHICKEN_gc_root_ref" nonnull-c-pointer)) - - (define frame-start/ubyte! - (foreign-lambda* void ([c-pointer frame]) "va_start_uchar((va_alist)frame);")) - (define frame-start/int! - (foreign-lambda* void ([c-pointer frame]) "va_start_int((va_alist)frame);")) - (define frame-start/float! - (foreign-lambda* void ([c-pointer frame]) "va_start_float((va_alist)frame);")) - (define frame-start/double! - (foreign-lambda* void ([c-pointer frame]) "va_start_double((va_alist)frame);")) - (define frame-start/pointer! - (foreign-lambda* void ([c-pointer frame]) "va_start_ptr((va_alist)frame, void *);")) - - (define frame-arg/ubyte! - (foreign-lambda* unsigned-byte ([c-pointer frame]) "C_return(va_arg_uchar((va_alist)frame));")) - (define frame-arg/int! - (foreign-lambda* int ([c-pointer frame]) "C_return(va_arg_int((va_alist)frame));")) - (define frame-arg/float! - (foreign-lambda* float ([c-pointer frame]) "C_return(va_arg_float((va_alist)frame));")) - (define frame-arg/double! - (foreign-lambda* double ([c-pointer frame]) "C_return(va_arg_double((va_alist)frame));")) - (define frame-arg/string! - (foreign-lambda* c-string ([c-pointer frame]) "C_return(va_arg_ptr((va_alist)frame, char *));")) - (define frame-arg/pointer! - (foreign-lambda* c-pointer ([c-pointer frame]) "C_return(va_arg_ptr((va_alist)frame, void *));")) - (define frame-arg/handle! - (foreign-lambda* ihandle ([c-pointer frame]) "C_return(va_arg_ptr((va_alist)frame, Ihandle *));")) - - (define frame-return/ubyte! - (foreign-lambda* void ([c-pointer frame] [unsigned-byte ret]) "va_return_uchar((va_alist)frame, ret);")) - ;(define frame-return/int! - ; (foreign-lambda* void ([c-pointer frame] [int ret]) "va_return_int((va_alist)frame, ret);")) - (define frame-return/status! - (foreign-lambda* void ([c-pointer frame] [istatus ret]) "va_return_int((va_alist)frame, ret);")) - (define frame-return/float! - (foreign-lambda* void ([c-pointer frame] [float ret]) "va_return_float((va_alist)frame, ret);")) - (define frame-return/double! - (foreign-lambda* void ([c-pointer frame] [double ret]) "va_return_double((va_alist)frame, ret);")) - (define frame-return/pointer! - (foreign-lambda* void ([c-pointer frame] [c-pointer ret]) "va_return_ptr((va_alist)frame, void *, ret);")) - (define frame-return/handle! - (foreign-lambda* void ([c-pointer frame] [ihandle ret]) "va_return_ptr((va_alist)frame, Ihandle *, ret);")) - - (let* ([data (cell-ref cell)] - [sig (car data)] - [proc (cdr data)]) - (case (string-ref sig 0) - [(#\b) (frame-start/ubyte! frame)] - [(#\i) (frame-start/int! frame)] - [(#\f) (frame-start/float! frame)] - [(#\d) (frame-start/double! frame)] - [(#\v #\h) (frame-start/pointer! frame)]) - (let* ([args (list-ec (:string chr "h" (string-drop sig 1)) - (case chr - [(#\b) (frame-arg/ubyte! frame)] - [(#\i) (frame-arg/int! frame)] - [(#\f) (frame-arg/float! frame)] - [(#\d) (frame-arg/double! frame)] - [(#\s) (frame-arg/string! frame)] - [(#\v) (frame-arg/pointer! frame)] - [(#\h) (frame-arg/handle! frame)]))] - [ret (apply proc args)]) - (case (string-ref sig 0) - [(#\b) (frame-return/ubyte! frame ret)] - [(#\i) (frame-return/status! frame ret)] - [(#\f) (frame-return/float! frame ret)] - [(#\d) (frame-return/double! frame ret)] - [(#\v) (frame-return/pointer! frame ret)] - [(#\h) (frame-return/handle! frame ret)])))) - -(define-values (callback-set! callback) - (letrec ([signature/raw - (foreign-lambda* c-string ([nonnull-ihandle handle] [iname/upcase name]) - "C_return(iupClassCallbackGetFormat(handle->iclass, name));")] - [make-wrapper - (foreign-lambda* c-pointer ([scheme-object v]) - "void *cell = CHICKEN_new_gc_root();\n" - "CHICKEN_gc_root_set(cell, v);\n" - "C_return(alloc_callback(&callback_entry, cell));\n")] - [wrapper-data - (foreign-lambda* scheme-object ([c-pointer proc]) - "C_return((proc && is_callback(proc) ? CHICKEN_gc_root_ref(callback_data(proc)) : C_SCHEME_FALSE));")] - [wrapper-destroy! - (foreign-lambda* void ([c-pointer proc]) - "if (proc && is_callback(proc)) {\n" - " CHICKEN_delete_gc_root(callback_data(proc));\n" - " free_callback(proc);\n" - "}\n")] - [wrapper->proc - (lambda (signature proc) - (cond - [(wrapper-data proc) => cdr] - [else proc]))] - [set/pointer! - (foreign-lambda c-pointer "IupSetCallback" nonnull-ihandle iname/upcase c-pointer)] - [get/pointer - (foreign-lambda c-pointer "IupGetCallback" nonnull-ihandle iname/upcase)] - [sigils - (irregex "([bifdsvh]*)(?:=([bifdvh]))?")] - [callback-set! - (lambda (handle name proc) - (let* ([sig - (cond - [(irregex-match sigils (or (signature/raw handle name) "")) - => (lambda (groups) - (string-append - (or (irregex-match-substring groups 2) "i") - (irregex-match-substring groups 1)))] - [else - (error 'callback-set! "callback has bad signature" handle name)])] - [new - (cond - [(or (not proc) (pointer? proc)) proc] - [else (set-finalizer! (make-wrapper (cons sig proc)) wrapper-destroy!)])] - [old - (set/pointer! handle name new)]) - (registry-set! handle (cons new ((if old (cut remove! (cut pointer=? <> old) <>) identity) (registry handle))))))] - [callback - (lambda (handle name) - (let ([proc (get/pointer handle name)]) - (cond - [(wrapper-data proc) => cdr] - [else proc])))]) - (values - callback-set! - (getter-with-setter callback callback-set!)))) - -;; }}} - -;; {{{ Layout functions - -(define create - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupCreate" iname/downcase))) - -(define destroy! - (letrec ([registry-destroy/recursive! - (lambda (handle) - (registry-destroy! handle) - (do-ec (:children child handle) - (registry-destroy/recursive! child)))] - [handle-destroy! - (foreign-lambda void "IupDestroy" nonnull-ihandle)]) - (lambda (handle) - (registry-destroy/recursive! handle) - (handle-destroy! handle)))) - -(define map-peer! - (letrec ([map-peer/raw! (foreign-safe-lambda istatus "IupMap" nonnull-ihandle)]) - (lambda (handle) - (let ([status (map-peer/raw! handle)]) - (case status - [(#t) (void)] - [else (error 'map-peer! (format "failed to map peer (~s)" status) handle)]))))) - -(define unmap-peer! - (foreign-safe-lambda void "IupUnmap" nonnull-ihandle)) - -(define class-name - (foreign-lambda iname/downcase "IupGetClassName" nonnull-ihandle)) - -(define class-type - (foreign-lambda iname/downcase "IupGetClassType" nonnull-ihandle)) - -(define save-attributes! - (foreign-lambda void "IupSaveClassAttributes" nonnull-ihandle)) - -(define parent - (foreign-lambda ihandle "IupGetParent" nonnull-ihandle)) - -(define parent-dialog - (foreign-lambda ihandle "IupGetDialog" nonnull-ihandle)) - -(define sibling - (foreign-lambda ihandle "IupGetBrother" nonnull-ihandle)) - -(define child-add! - (letrec ([append! (foreign-safe-lambda ihandle "IupAppend" nonnull-ihandle nonnull-ihandle)] - [insert! (foreign-safe-lambda ihandle "IupInsert" nonnull-ihandle nonnull-ihandle nonnull-ihandle)]) - (lambda (child container #!optional [anchor #f]) - (or (if anchor - (insert! container anchor child) - (append! container child)) - (error 'child-add! "failed to add child" child container anchor))))) - -(define child-remove! - (foreign-safe-lambda void "IupDetach" nonnull-ihandle)) - -(define child-move! - (letrec ([move! (foreign-safe-lambda istatus "IupReparent" nonnull-ihandle nonnull-ihandle ihandle)]) - (lambda (child parent #!optional ref-child) - (let ([status (move! child parent ref-child)]) - (case status - [(#t) (void)] - [else (error 'child-move! (format "failed to move child (~s)" status) child parent)]))))) - -(define child-ref - (letrec ([ref/position (foreign-lambda ihandle "IupGetChild" nonnull-ihandle int)] - [ref/name (foreign-lambda ihandle "IupGetDialogChild" nonnull-ihandle iname/upcase)]) - (lambda (container id) - ((if (integer? id) ref/position ref/name) container id)))) - -(define child-pos - (letrec ([pos/raw (foreign-lambda int "IupGetChildPos" nonnull-ihandle nonnull-ihandle)]) - (lambda (parent child) - (let ([pos (pos/raw parent child)]) - (and (not (negative? pos)) pos))))) - -(define child-count - (foreign-lambda int "IupGetChildCount" nonnull-ihandle)) - -(define (children handle) - (list-ec (:children child handle) child)) - -(define refresh - (foreign-safe-lambda void "IupRefresh" nonnull-ihandle)) - -(define redraw - (letrec ([update - (foreign-safe-lambda* void ([nonnull-ihandle handle] [bool children]) - "IupUpdate(handle); if (children) IupUpdateChildren(handle);")] - [update/sync - (foreign-safe-lambda void "IupRedraw" nonnull-ihandle bool)]) - (lambda (handle #!key [children? #f] [sync? #f]) - ((if sync? update/sync update) handle children?)))) - -(define child-x/y->pos - (letrec ([x/y->pos/raw (foreign-lambda int "IupConvertXYToPos" nonnull-ihandle int int)]) - (lambda (parent x y) - (let ([pos (x/y->pos/raw parent x y)]) - (and (not (negative? pos)) pos))))) - -;; }}} - -;; {{{ Dialog functions - -(define show - (letrec ([position - (lambda (v) - (case v - [(center) #xffff] - [(start top left) #xfffe] - [(end bottom right) #xfffd] - [(mouse) #xfffc] - [(parent-center) #xfffa] - [(current) #xfffb] - [else v]))] - [popup (foreign-safe-lambda istatus "IupPopup" nonnull-ihandle int int)] - [show/x/y (foreign-safe-lambda istatus "IupShowXY" nonnull-ihandle int int)]) - (lambda (handle #!key [x 'current] [y 'current] [modal? #f]) - (let ([status ((if modal? popup show/x/y) handle (position x) (position y))]) - (case status - [(error) (error 'show "failed to show" handle)] - [else status]))))) - -(define hide - (letrec ([hide/raw (foreign-safe-lambda istatus "IupHide" nonnull-ihandle)]) - (lambda (handle) - (let ([status (hide/raw handle)]) - (case status - [(#t) (void)] - [else (error 'hide (format "failed to hide (~s)" status) handle)]))))) - -;; }}} - -;; {{{ Composition functions - -(define dialog - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupDialog" ihandle))) - -(define fill - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupFill"))) - -(define hbox - (make-constructor-procedure - (foreign-lambda* nonnull-ihandle ([ihandle-list handles]) "C_return(IupHboxv((Ihandle **)handles));") - #:apply-args list)) - -(define vbox - (make-constructor-procedure - (foreign-lambda* nonnull-ihandle ([ihandle-list handles]) "C_return(IupVboxv((Ihandle **)handles));") - #:apply-args list)) - -(define zbox - (make-constructor-procedure - (foreign-lambda* nonnull-ihandle ([ihandle-list handles]) "C_return(IupZboxv((Ihandle **)handles));") - #:apply-args list)) - -(define cbox - (make-constructor-procedure - (foreign-lambda* nonnull-ihandle ([ihandle-list handles]) "C_return(IupCboxv((Ihandle **)handles));") - #:apply-args list)) - -(define sbox - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupSbox" ihandle))) - -(define radio - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupRadio" ihandle))) - -(define normalizer - (make-constructor-procedure - (foreign-lambda* nonnull-ihandle ([ihandle-list handles]) "C_return(IupNormalizerv((Ihandle **)handles));") - #:apply-args list)) - -(define split - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupSplit" ihandle ihandle))) - -;; }}} - -;; {{{ Image resource functions - -(define image/palette - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupImage" int int blob))) - -(define image/rgb - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupImageRGB" int int blob))) - -(define image/rgba - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupImageRGBA" int int blob))) - -(define image/file - (letrec ([load-image (foreign-lambda ihandle "IupLoadImage" c-string)]) - (make-constructor-procedure - (lambda (file) - (or (load-image file) (error 'image/file (attribute #f 'iupim-lasterror))))))) - -(define image-save - (letrec ([save-image (foreign-lambda bool "IupSaveImage" nonnull-ihandle c-string iname/upcase)]) - (lambda (handle file format) - (unless (save-image handle file format) - (error 'image-save (attribute #f 'iupim-lasterror)))))) - -;; }}} - -;; {{{ Focus functions - -(define current-focus - (letrec ([focus (foreign-safe-lambda ihandle "IupGetFocus")] - [focus-set! (foreign-safe-lambda ihandle "IupSetFocus" ihandle)] - [current-focus - (case-lambda - [() (focus)] - [(handle) (focus-set! handle)])]) - (getter-with-setter current-focus current-focus))) - -(define focus-next - (letrec ([focus-next/raw (foreign-safe-lambda ihandle "IupNextField" ihandle)]) - (lambda (#!optional [handle (current-focus)]) - (focus-next/raw handle)))) - -(define focus-previous - (letrec ([focus-previous/raw (foreign-safe-lambda ihandle "IupPreviousField" ihandle)]) - (lambda (#!optional [handle (current-focus)]) - (focus-previous/raw handle)))) - -;; }}} - -;; {{{ Menu functions - -(define menu - (make-constructor-procedure - (foreign-lambda* nonnull-ihandle ([ihandle-list handles]) "C_return(IupMenuv((Ihandle **)handles));") - #:apply-args list)) - -(define menu-item - (letrec ([action-item (foreign-lambda nonnull-ihandle "IupItem" c-string iname/upcase)] - [submenu-item (foreign-lambda nonnull-ihandle "IupSubmenu" c-string ihandle)]) - (make-constructor-procedure - (lambda (#!optional [title #f] [action/menu #f]) - ((if (ihandle? action/menu) submenu-item action-item) title action/menu))))) - -(define menu-separator - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupSeparator"))) - -;; }}} - -;; {{{ Miscellaneous resource functions - -(define clipboard - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupClipboard"))) - -(define timer - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupTimer"))) - -(define send-url - (letrec ([send-url/raw (foreign-lambda int "IupHelp" c-string)]) - (lambda (url) - (and-let* ([status (send-url/raw url)] - [(not (= status 1))]) - (error 'send-url (format "failed to open URL (~s)" status) url)) - (void)))) - -;; }}} - -;; {{{ The library watchdog - -(define thread-watchdog - (letrec ([open (foreign-lambda* istatus () "C_return(IupOpen(NULL, NULL));")] - [setlocale (foreign-lambda* void () "setlocale(LC_NUMERIC, \"C\");")] - [open-imglib (foreign-lambda void "IupImageLibOpen")] - [close (foreign-lambda void "IupClose")] - [chicken-yield (foreign-value "&CHICKEN_yield" c-pointer)]) - (and-let* ([(let ([status (dynamic-wind void open setlocale)]) - (case status - [(#t) #t] - [(ignore) #f] - [else (error 'iup (format "failed to initialize library (~s)" status))]))] - [(open-imglib)] - [watchdog (timer)]) - (set-finalizer! - watchdog - (lambda (watchdog) - (destroy! watchdog) - (close))) - (callback-set! watchdog 'action-cb chicken-yield) - (attribute-set! watchdog 'time 500) - (attribute-set! watchdog 'run #t) - watchdog))) - -;; }}} DELETED iup/iup-controls.scm Index: iup/iup-controls.scm ================================================================== --- iup/iup-controls.scm +++ /dev/null @@ -1,112 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "iup-types.scm") - -;; }}} - -;; {{{ Standard controls - -(define canvas - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupCanvas" iname/upcase) - #:apply-args (optional-args [action #f]))) - -(define frame - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupFrame" ihandle) - #:apply-args (optional-args [action #f]))) - -(define tabs - (make-constructor-procedure - (foreign-lambda* nonnull-ihandle ([ihandle-list handles]) - "C_return(IupTabsv((Ihandle **)handles));") - #:apply-args list)) - -(define label - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupLabel" c-string) - #:apply-args (optional-args [action #f]))) - -(define button - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupButton" c-string iname/upcase) - #:apply-args (optional-args [title #f] [action #f]))) - -(define toggle - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupToggle" c-string iname/upcase) - #:apply-args (optional-args [title #f] [action #f]))) - -(define spin - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupSpin"))) - -(define spinbox - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupSpinbox" ihandle))) - -(define valuator - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupVal" c-string) - #:apply-args (optional-args [type "HORIZONTAL"]))) - -(define textbox - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupText" iname/upcase) - #:apply-args (optional-args [action #f]))) - -(define listbox - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupList" iname/upcase) - #:apply-args (optional-args [action #f]))) - -(define treebox - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupTree"))) - -(define progress-bar - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupProgressBar"))) - -;; }}} - -;; {{{ Extended controls - -(define matrix - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupMatrix" iname/upcase) - #:apply-args (optional-args [action #f]))) - -(define cells - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupCells"))) - -(define color-bar - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupColorbar"))) - -(define color-browser - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupColorBrowser"))) - -(define dial - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupDial" c-string) - #:apply-args (optional-args [type "HORIZONTAL"]))) - -;; }}} - -;; {{{ Library setup - -(let ([status (foreign-value "IupControlsOpen()" istatus)]) - (case status - [(#t ignore) (void)] - [else (error 'iup "failed to initialize library (~s)" status)])) - -;; }}} DELETED iup/iup-dialogs.scm Index: iup/iup-dialogs.scm ================================================================== --- iup/iup-dialogs.scm +++ /dev/null @@ -1,39 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n") - -(include "iup-types.scm") - -;; }}} - -;; {{{ Standard dialogs - -(define file-dialog - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupFileDlg"))) - -(define message-dialog - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupMessageDlg"))) - -(define color-dialog - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupColorDlg"))) - -(define font-dialog - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupFontDlg"))) - -(define layout-dialog - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupLayoutDialog" ihandle) - #:apply-args (optional-args [dialog #f]))) - -(define element-properties-dialog - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupElementPropertiesDialog" nonnull-ihandle))) - -;; }}} DELETED iup/iup-dynamic.scm Index: iup/iup-dynamic.scm ================================================================== --- iup/iup-dynamic.scm +++ /dev/null @@ -1,14 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -(module iup-dynamic - (iup-available? iup-dynamic-require) - (import scheme chicken) - -(define (iup-dynamic-require sym) - (eval `(begin (require-extension iup) ,sym))) - -(define (iup-available?) - (condition-case ((iup-dynamic-require 'iup-version)) - [(exn) #f])) - -) DELETED iup/iup-glcanvas.scm Index: iup/iup-glcanvas.scm ================================================================== --- iup/iup-glcanvas.scm +++ /dev/null @@ -1,54 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "iup-types.scm") - -;; }}} - -;; {{{ GLCanvas control - -(define glcanvas - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupGLCanvas" iname/upcase) - #:apply-args (optional-args [action #f]))) - -;; }}} - -;; {{{ OpenGL context functions - -(define call-with-glcanvas - (letrec ([glcanvas-make-current (foreign-lambda void "IupGLMakeCurrent" nonnull-ihandle)] - [glcanvas-swap-buffers (foreign-lambda void "IupGLSwapBuffers" nonnull-ihandle)] - [glcanvas-wait (foreign-lambda void "IupGLWait" bool)]) - (lambda (handle proc #!key [swap? #f] [sync? #f]) - (dynamic-wind - (lambda () - (glcanvas-make-current handle) - (when sync? (glcanvas-wait #f))) - (lambda () - (proc handle)) - (lambda () - (when swap? (glcanvas-swap-buffers handle)) - (when sync? (glcanvas-wait #t))))))) - -(define glcanvas-is-current? - (foreign-lambda bool "IupGLIsCurrent" nonnull-ihandle)) - -(define glcanvas-palette-set! - (foreign-lambda void "IupGLPalette" nonnull-ihandle int float float float)) - -(define glcanvas-font-set! - (foreign-lambda void "IupGLUseFont" nonnull-ihandle int int int)) - -;; }}} - -;; {{{ Library setup - -(foreign-code "IupGLCanvasOpen();") - -;; }}} DELETED iup/iup-pplot.scm Index: iup/iup-pplot.scm ================================================================== --- iup/iup-pplot.scm +++ /dev/null @@ -1,66 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "iup-types.scm") - -;; }}} - -;; {{{ PPlot control - -(define pplot - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupPPlot"))) - -;; }}} - -;; {{{ Plotting functions - -(define call-with-pplot - (letrec ([pplot-begin (foreign-lambda void "IupPPlotBegin" nonnull-ihandle bool)] - [pplot-end (foreign-lambda void "IupPPlotEnd" nonnull-ihandle)]) - (lambda (handle proc #!key [x-string? #f]) - (dynamic-wind - (lambda () - (pplot-begin handle x-string?)) - (lambda () - (proc handle)) - (lambda () - (pplot-end handle)))))) - -(define pplot-add! - (letrec ([append/real (foreign-lambda void "IupPPlotAdd" nonnull-ihandle float float)] - [append/string (foreign-lambda void "IupPPlotAddStr" nonnull-ihandle c-string float)] - [insert/real (foreign-lambda void "IupPPlotInsert" nonnull-ihandle int int float float)] - [insert/string (foreign-lambda void "IupPPlotInsertStr" nonnull-ihandle int int c-string float)] - [current-index (lambda (handle) (string->number (attribute handle 'current)))]) - (lambda (handle x y #!optional [sample-index #f] [index #f]) - (if (string? x) - (if index - (insert/string handle (or index (current-index handle)) sample-index x y) - (append/string handle x y)) - (if index - (insert/real handle (or index (current-index handle)) sample-index x y) - (append/real handle x y)))))) - -(define pplot-x/y->pixel-x/y - (letrec ([transform (foreign-lambda void "IupPPlotTransform" nonnull-ihandle float float (c-pointer int) (c-pointer int))]) - (lambda (handle pplot-x pplot-y) - (let-location ([pixel-x int 0] [pixel-y int 0]) - (transform handle pplot-x pplot-y (location pixel-x) (location pixel-y)) - (values pixel-x pixel-y))))) - -(define pplot-paint-to - (foreign-lambda void "IupPPlotPaintTo" nonnull-ihandle nonnull-c-pointer)) - -;; }}} - -;; {{{ Library setup - -(foreign-code "IupPPlotOpen();") - -;; }}} DELETED iup/iup-types.scm Index: iup/iup-types.scm ================================================================== --- iup/iup-types.scm +++ /dev/null @@ -1,24 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -(define-foreign-type ihandle (c-pointer "Ihandle") - (ihandle->pointer #f) - (pointer->ihandle #f)) - -(define-foreign-type ihandle-list nonnull-pointer-vector - ihandle-list->pointer-vector) - -(define-foreign-type nonnull-ihandle (nonnull-c-pointer "Ihandle") - (ihandle->pointer #t) - (pointer->ihandle #t)) - -(define-foreign-type istatus int - istatus->integer - integer->istatus) - -(define-foreign-type iname/upcase c-string - (iname->string 'upcase) - (string->iname 'upcase)) - -(define-foreign-type iname/downcase c-string - (iname->string 'downcase) - (iname->string 'downcase)) DELETED iup/iup-web.scm Index: iup/iup-web.scm ================================================================== --- iup/iup-web.scm +++ /dev/null @@ -1,25 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -;; {{{ Data types - -(foreign-declare - "#include \n" - "#include \n") - -(include "iup-types.scm") - -;; }}} - -;; {{{ Web browser control - -(define web-browser - (make-constructor-procedure - (foreign-lambda nonnull-ihandle "IupWebBrowser"))) - -;; }}} - -;; {{{ Library setup - -(foreign-code "IupWebBrowserOpen();") - -;; }}} DELETED iup/iup.meta Index: iup/iup.meta ================================================================== --- iup/iup.meta +++ /dev/null @@ -1,7 +0,0 @@ -((category ui) - (license "BSD") - (author "Thomas Chust") - (synopsis "Bindings to the IUP GUI library") - (doc-from-wiki) - (needs srfi-42) - (files "iup-dialogs.scm" "iup.scm" "iup-glcanvas.scm" "iup-pplot.scm" "iup.meta" "iup-web.scm" "iup-dynamic.scm" "iup.setup" "iup.release-info" "iup-types.scm" "iup-base.scm" "iup-controls.scm")) DELETED iup/iup.scm Index: iup/iup.scm ================================================================== --- iup/iup.scm +++ /dev/null @@ -1,106 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -(require-library - lolevel data-structures extras srfi-1 srfi-13 srfi-42 irregex posix) - -(module iup-base - (ihandle->pointer pointer->ihandle ihandle-list->pointer-vector ihandle? - istatus->integer integer->istatus - iname->string string->iname - thread-watchdog iup-version load/led - attribute attribute-set! attribute-reset! - handle-name handle-name-set! handle-ref - main-loop main-loop-step main-loop-level main-loop-exit main-loop-flush - callback callback-set! - make-constructor-procedure optional-args - create destroy! map-peer! unmap-peer! - class-name class-type save-attributes! - parent parent-dialog sibling - child-add! child-remove! child-move! - child-ref child-pos child-count - :children children - refresh redraw - child-x/y->pos - show hide - dialog - fill hbox vbox zbox cbox sbox - radio normalizer split - image/palette image/rgb image/rgba image/file image-save - current-focus focus-next focus-previous - menu menu-item menu-separator - clipboard timer send-url) - (import - scheme chicken foreign - lolevel data-structures extras srfi-1 srfi-13 srfi-42 irregex - (only posix setenv)) - (include "iup-base.scm")) - -(module iup-controls - (canvas - frame tabs - label button toggle - spin spinbox valuator - textbox listbox treebox - progress-bar - matrix cells - color-bar color-browser - dial) - (import - scheme chicken foreign - iup-base) - (include "iup-controls.scm")) - -(module iup-dialogs - (file-dialog message-dialog color-dialog font-dialog - layout-dialog element-properties-dialog) - (import - scheme chicken foreign - iup-base) - (include "iup-dialogs.scm")) - -(cond-expand - [disable-iup-glcanvas] - [else - (module iup-glcanvas - (glcanvas - call-with-glcanvas glcanvas-is-current? - glcanvas-palette-set! glcanvas-font-set!) - (import - scheme chicken foreign - iup-base) - (include "iup-glcanvas.scm"))]) - -(cond-expand - [disable-iup-pplot] - [else - (module iup-pplot - (pplot - call-with-pplot pplot-add! - pplot-x/y->pixel-x/y - pplot-paint-to) - (import - scheme chicken foreign - iup-base) - (include "iup-pplot.scm"))]) - -(cond-expand - [disable-iup-web] - [else - (module iup-web - (web-browser) - (import - scheme chicken foreign - iup-base) - (include "iup-web.scm"))]) - -(module iup - () - (import scheme chicken) - (reexport - (except iup-base - ihandle->pointer pointer->ihandle ihandle-list->pointer-vector - istatus->integer integer->istatus - iname->string string->iname - make-constructor-procedure optional-args) - iup-controls - iup-dialogs)) DELETED iup/iup.setup Index: iup/iup.setup ================================================================== --- iup/iup.setup +++ /dev/null @@ -1,95 +0,0 @@ -;; -*- mode: Scheme; tab-width: 2; -*- ;; - -(define modules - `(-j iup - -j iup-base -j iup-controls -j iup-dialogs - ,@(cond-expand - [disable-iup-glcanvas - '()] - [else - '(-j iup-glcanvas)]) - ,@(cond-expand - [disable-iup-pplot - '()] - [else - '(-j iup-pplot)]) - ,@(cond-expand - [disable-iup-web - '()] - [else - '(-j iup-web)]))) - -(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 - '()] - [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] - [else - (compile -s -O2 -d0 "iup-pplot.import.scm")]) -(cond-expand - [disable-iup-web] - [else - (compile -s -O2 -d0 "iup-web.import.scm")]) - -(install-extension - 'iup - `("iup.so" "iup.o" "iup-types.scm" ,@import-libraries) - `((version 1.2.1) - (static "iup-base.o") - (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.2.1) - (static "iup-dynamic.o"))) Index: setup-chicken-iup.exe ================================================================== --- setup-chicken-iup.exe +++ setup-chicken-iup.exe cannot compute difference between binary files