1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
TODO
====
- config.log with full output
BUGS
====
- CHKFNC not working for c++
Missing languages
=================
- Go
- LANG_CXX in USE_LIBTOOL (must be tested)
- CPP is never used/checked
- mono/dotgnu/msc (semi-done as a module)
- elisp/clisp/guile/chicken/newlisp
- luvit ??
- icon
Random issues
=============
- SUBCONF IS BROKEN CONCEPT ?!?!!
- IF XX FOO += BAR ; is also broken!! works with IF XX { ... } ; next change!!
- optimize cat foo|awk -> awk < foo
- make something generic to create HAVE_BLABL variables
- add yacc/lex/bison/flex support USE_LEX_AND_YACC
- cdeps in AMR is nonsense ? amr must be redefined from the ground!
- add LICENSE keyword. Store a pool of licenses.
- finish the "optimized by a single function call" (not only for CHKINC and CHKLIB)
- allow to run commands without {} keys in conditionals: IF FOO BAR DIENOW bla ;
- manage user creation, etc. (portable tool to create/remove user/groups..)
- install command replacement to autogenerate PLISTs
- chkup2date: check if there's new versions of the program
- add bitmasks -> change 'ifs' by using:
case "foo" in *fo) echo pop ;; esac
- config.log
- configure.log >> outputs build stuff ACR_LOGS | GEN_LOGS (use $LINENO)
Automake:
=========
- add keyword REBUILD, to mark the variables that has changed,
to force a make clean
- lot of testing and dubidu
TOTHINK:
========
- absolute VPATH? (GNU doesn't)
- add INSTALL_DATA_DIR INSTALL_MAN_DIR INSTALL_SCRIPT_DIR ... LIB ..
- ensure acr is using acr-sh from the correct path. it could be autofixable
- set -x for debugging (-dd ?) // too many debug!!
- check defines on includes...useful for the HURD MAX_PATH_LEN & related
- Implement the "HIDE" keyword ?!? is stupid
- regexp to parse by sed...just use // instead of \, :?
- report on file, only requested variables:
OUTPUT_H PREFIX+HAVE_LIB_NCURSES config.h; ## only prefix and ncurses ##
- if -L is used, also -Wl,-R must be
- add -pc- when it's a i.86 IMHO NO!
- check if the crosscompiler matches (gcc -dumpmachine)
EXEC GCCTARGET gcc -dumpmachine ;
IFNOTEQ GCCTARGET TARGET
{
DIE Crosscompiler mismatch
}
-- must be integrated with
-- drop -unknown- keyword in hosts
- separate acr-sh into different script files. (maybe this will never be achieved)
- SUBDIRS => MAKEPATHS, MAKEFILEPATH, ...
--x-includes \___ add these flags into USE_X11 (talk to sepharad)
--x-libraries /
- ==================================== -> this makes sandbox useless. (to think!)
- sandbox VS make install PREFIX=/usr/local/foo
- support for multiline flag comments. (sed \n -> \t\t\t\t\n)?
- add -q (quite ?)
- check for RPATH -Wl,-R (only for darwin?) -- not proper imho
- SEARCHPATH only for TCL :?
- add CHECK_BUILD -> build & execute? what kind of file ?...etc..long wish
>> example usage:
CHECK_BUILD VAR EOF ; JAVAC CLASSPATH ;
import java.io.*;
public static void main()
{
System.out.println("this is mooed");
}
EOF
-------- IMHO this is useless, we have CHECK command that does the same.
- IFZERO ? instead of IFNOT ??
- if SUBST_FILES is a directory just handle the entire contents of the directory.
AutoInstall
===========
create install-acr: ?
- Same install functionality
- Allow multiple files
- auto PLIST generation
- install-acr :?? (to generate a PLIST)
- add -i flag that reads the acr.conf or something similar and runs (install)
./configure with the desired flags. runs make/gmake and installs (install)
(like DotGNU's madcow does :) - may use the native pkg system to install
the required dependencies, etc :) ...aka TWD
Modules
=======
- add INSMOD -> insert module
- this will include the requested acrm file
for example:
- file: qt.acrm
- <contents>
add_flag....
ENVWORDS="${ENVWORDS} FOO BAR"
- </contents>
- acr will check if the requested file exists, (local dir, share dir)
- documentation required.
TIPS:
=====
- pkg-config --exists "gtk2-java >= 2.7"
- code a lighter pkgconfig alternative?? :)
## just for history? ##
- conditionals in Makefile SUBST -> this will make 'make' happy and portable
>>false
> cat file | awk 'BEGIN{a=0;}{ if (/##MARK##/) { if(a==0){a=1} else {a=0}; } else {if (a==0) print; }}'
>>true
> cat file | awk 'BEGIN{a=0;}{ if (/##MARK##/) { if(a==0){a=1} else {a=0}; } else { print; }}'
## /history ##
|