~ chicken-core (chicken-5) 5947ebb73e05f304f10e1a5a2520df86a13e8400
commit 5947ebb73e05f304f10e1a5a2520df86a13e8400
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Sat Apr 2 15:15:37 2016 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Sat Apr 2 15:15:37 2016 +0200
added notes for new setup system
diff --git a/NOTES b/NOTES
new file mode 100644
index 00000000..c8b91773
--- /dev/null
+++ b/NOTES
@@ -0,0 +1,79 @@
+NOTES (new install)
+===============
+
+
+* TODO Create branch
+
+* Complete egg-info compilation
+** TODO Shell-script (batch-file) generation
+ - respect settings in chicken-config.h
+** TODO Ise "linkage" declaration for extensions + programs
+ - add default compile/link options depending on linkage in code-generators.
+** TODO Obtain "executable-extension" somehow
+ - should be able to run for all platforms, so use global setting that can be modified by cmdline.
+** TODO Do validation of egg-info at some stage
+** TODO A chicken built with STATICBUILD needs to install import libs as source
+ - see use of "addfiles" for extension.
+ - can this be figured out from chicken-config.h?
+
+* TODO repository-path
+ - allow multiple locations?
+ - might be needed anyway, unless components are to be usable only when installed.
+ - CHICKEN_REPOSITORY
+
+* TODO Extract download stuff
+
+* TODO Temporary directory for saving scripts + intermediate files
+
+* TODO Check what cmdline options to retain
+** TODO Option for explicitly generating Windows/UNIX build/install scripts
+
+* Things to resolve
+** TODO setup-info files
+ - add installed files of all components.
+ - collect when compiling commands and return updated egg-info as 3rd result.
+ - can be stored in build-directory.
+ - one for the whole egg (use "components" to find associated parts).
+ - "extension-information"
+** TODO setup.defaults
+** TODO Retrieval from local directory
+** TODO Cross-build + cross-chickens
+ - "-target"/"-host"
+** TODO CHICKEN_PREFIX?
+
+* Drop
+** TODO svn transport
+** TODO deployment
+
+* TODO Remove setup-api/setup-download
+
+* Build/install scripts
+** TODO fully sh(1) compatible
+ - http://people.fas.harvard.edu/~lib113/reference/unix/portable_scripting.html
+ - https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true
+** TODO "chicken-do" tool to build if dependencies are newer than target
+ - "usage: chicken-do TARGET CMD ... : DEPENDENCIES ..."
+ - try to avoid quoting hell, especially on Windows.
+ - ideally, use execvp
+ - http://www.cplusplus.com/forum/windows/3398/ and
+ http://www.cplusplus.com/forum/beginner/1988/3/#msg14102
+** TODO Consider making this powerful enough to build chicken
+** TODO Handle case where program and extension in egg have same name
+ - e.g. "hyde" in hyde egg.
+ - can we ignore this, if source files have different names, just compiling exe/so directly should
+ work.
+
+* Install scripts
+** TODO fully sh(1) compatible
+** TODO Allow overrriding DESTDIR, PREFIX
+** TODO Install setup-info
+** TODO Use install(1) ?
+
+* Tools
+** TODO chicken-install
+** TODO chicken-uninstall
+** TODO chicken-status
+
+* TODO Copyright headers
+
+* TODO Documentation
Trap