-
-
Notifications
You must be signed in to change notification settings - Fork 10
/
TODO
132 lines (115 loc) · 4.19 KB
/
TODO
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 ##