Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
asdf
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
19
Issues
19
List
Boards
Labels
Service Desk
Milestones
Merge Requests
12
Merge Requests
12
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
asdf
asdf
Commits
76959caa
Commit
76959caa
authored
Feb 02, 2017
by
Francois-Rene Rideau
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Distinguish :fasb and :fasl
Fixes bundle builds for MKCL post 1.1.10.
parent
bae381cb
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
20 additions
and
12 deletions
+20
-12
bundle.lisp
bundle.lisp
+5
-3
test/make-hello-world.lisp
test/make-hello-world.lisp
+1
-1
test/test-program.script
test/test-program.script
+4
-4
uiop/image.lisp
uiop/image.lisp
+10
-4
No files found.
bundle.lisp
View file @
76959caa
...
...
@@ -110,7 +110,7 @@ itself."))
(
defclass
basic-compile-bundle-op
(
bundle-op
basic-compile-op
)
((
gather-type
:initform
#-
(
or
clasp
ecl
mkcl
)
:fasl
#+
(
or
clasp
ecl
mkcl
)
:object
:allocation
:class
)
(
bundle-type
:initform
:fas
l
:allocation
:class
))
(
bundle-type
:initform
:fas
b
:allocation
:class
))
(
:documentation
"Base class for compiling into a bundle"
))
;; Analog to prepare-op, for load-bundle-op and compile-bundle-op
...
...
@@ -217,6 +217,8 @@ for all the linkable object files associated with the system or its dependencies
((
eql
:no-output-file
)
;; marker for a bundle-type that has NO output file
(
error
"No output file, therefore no pathname type"
))
((
eql
:fasl
)
;; the type of a fasl
(
compile-file-type
))
; on image-based platforms, used as input and output
((
eql
:fasb
)
;; the type of a fasl
#-
(
or
clasp
ecl
mkcl
)
(
compile-file-type
)
; on image-based platforms, used as input and output
#+
(
or
clasp
ecl
mkcl
)
"fasb"
)
; on C-linking platforms, only used as output for system bundles
((
member
:image
)
...
...
@@ -274,7 +276,7 @@ e.g. as part of the implementation, of an outer build system that calls into ASD
or of opaque libraries shipped along the source code."
))
(
defclass
precompiled-system
(
system
)
((
build-pathname
:initarg
:fasl
))
((
build-pathname
:initarg
:fas
b
:initarg
:fas
l
))
(
:documentation
"Class For a system that is delivered as a precompiled fasl"
))
(
defclass
prebuilt-system
(
system
)
...
...
@@ -341,7 +343,7 @@ or of opaque libraries shipped along the source code."))
(
if
monolithic
'monolithic-dll-op
'dll-op
))
((
:lib
:static-library
)
(
if
monolithic
'monolithic-lib-op
'lib-op
))
((
:fas
l
)
((
:fas
b
)
(
if
monolithic
'monolithic-compile-bundle-op
'compile-bundle-op
))
((
:image
)
'image-op
)
...
...
test/make-hello-world.lisp
View file @
76959caa
...
...
@@ -20,7 +20,7 @@
;; make sure mkcl-X.X.X.dll is the same directory as the executable
(
let*
((
dll-orig
(
subpathname
(
si::self-truename
)
(
strcat
#-
os-windows
"../lib/"
"mkcl_"
(
lisp-implementation
-version
)
"mkcl_"
(
si:mkcl
-version
)
"."
(
asdf/bundle:bundle-pathname-type
:shared-library
))))
(
dll-dest
(
subpathname
pathname
(
strcat
#-
os-windows
"../lib/"
(
file-namestring
dll-orig
)))))
(
ensure-directories-exist
dll-dest
)
...
...
test/test-program.script
View file @
76959caa
...
...
@@ -122,8 +122,9 @@
#+(or ecl mkcl)
(progn
(DBG "Now create an program without UIOP")
(assert (probe-file (asdf/bundle::system-module-pathname "asdf")))
(assert (probe-file (asdf/bundle::system-module-pathname "cmp")))
#+mkcl (assert (probe-file* (asdf/bundle::system-module-pathname "uiop")))
(assert (probe-file* (asdf/bundle::system-module-pathname "asdf")))
#+ecl (assert (probe-file* (asdf/bundle::system-module-pathname "cmp")))
(def-test-system hello-no-uiop
:class program-system
:no-uiop t
...
...
@@ -142,10 +143,9 @@
'("Look ma, no UIOP!" "And TEST-PACKAGE!" "And no ASDF!"))
(DBG "Now create an program with explicit ASDF dependency, without registered ASDF (use implementation-provided prebuilt)")
(trace c::builder) ;; component-depends-on input-files output-files
(assert-pathname-equal
(truename (pathname-directory-pathname (output-file 'lib-op (asdf/bundle::linkable-system "asdf"))))
(truename (
lisp-implementation-directory
)))
(truename (
subpathname (lisp-implementation-directory) #+mkcl "contrib/" #-mkcl nil
)))
(def-test-system hello-asdf
:class program-system
:depends-on ("asdf")
...
...
uiop/image.lisp
View file @
76959caa
...
...
@@ -445,7 +445,9 @@ or COMPRESSION on SBCL, and APPLICATION-TYPE on SBCL/Windows."
(
shell-boolean-exit
(
restore-image
))))))))
(
when
forms
`
(
progn
,@
forms
))))))
#+
(
or
clasp
ecl
)
(
check-type
kind
(
member
:dll
:shared-library
:lib
:static-library
:program
:fasl
))
#+
(
or
clasp
ecl
mkcl
)
(
check-type
kind
(
member
:dll
:shared-library
:lib
:static-library
:fasl
:fasb
:program
))
(
apply
#+
clasp
'cmp:builder
#+
clasp
kind
#+
(
or
ecl
mkcl
)
(
ecase
kind
...
...
@@ -453,13 +455,17 @@ or COMPRESSION on SBCL, and APPLICATION-TYPE on SBCL/Windows."
#+
ecl
'c::build-shared-library
#+
mkcl
'compiler:build-shared-library
)
((
:lib
:static-library
)
#+
ecl
'c::build-static-library
#+
mkcl
'compiler:build-static-library
)
((
:fasl
)
((
:fasl
#+
ecl
:fasb
)
#+
ecl
'c::build-fasl
#+
mkcl
'compiler:build-fasl
)
#+
mkcl
((
:fasb
)
'compiler:build-bundle
)
((
:program
)
#+
ecl
'c::build-program
#+
mkcl
'compiler:build-program
))
(
pathname
destination
)
#+
(
or
clasp
ecl
)
:lisp-files
#+
mkcl
:lisp-object-files
(
append
lisp-object-files
#+
(
or
clasp
ecl
)
extra-object-files
)
#+
(
or
clasp
ecl
)
:init-name
#+
(
or
clasp
ecl
)
(
c::compute-init-name
(
or
output-name
destination
)
:kind
kind
)
#+
(
or
clasp
ecl
)
:lisp-files
#+
mkcl
:lisp-object-files
(
append
lisp-object-files
#+
(
or
clasp
ecl
)
extra-object-files
)
#+
ecl
:init-name
#+
ecl
(
c::compute-init-name
(
or
output-name
destination
)
:kind
(
if
(
eq
kind
:fasb
)
:fasl
kind
))
(
append
(
when
prologue-code
`
(
:prologue-code
,
prologue-code
))
(
when
epilogue-code
`
(
:epilogue-code
,
epilogue-code
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment