| 1 | we can't seem to AC_SUBST(pkgdatadir)
|
|---|
| 2 | the version from header-vars overrides
|
|---|
| 3 | why is that?
|
|---|
| 4 |
|
|---|
| 5 | check should depend on all
|
|---|
| 6 | from ben elliston
|
|---|
| 7 |
|
|---|
| 8 | the new YFLAGS code doesn't correctly handle srcdir
|
|---|
| 9 |
|
|---|
| 10 | allow foo_NAME to rename an object (library or program)
|
|---|
| 11 | at build/install time
|
|---|
| 12 |
|
|---|
| 13 | remove _LTLIBRARIES and just use _LIBRARIES
|
|---|
| 14 | then use this for zip/jar as well
|
|---|
| 15 |
|
|---|
| 16 | for 1.5
|
|---|
| 17 | investigate problems with conditionally defined libraries
|
|---|
| 18 |
|
|---|
| 19 | add an error if the user makefile.am violates our
|
|---|
| 20 | namespace rules
|
|---|
| 21 |
|
|---|
| 22 | we need a document describing automake from the end user's point of view
|
|---|
| 23 | eg describe INSTALL_HEADER there, among other things
|
|---|
| 24 |
|
|---|
| 25 | * maintainer-clean
|
|---|
| 26 |
|
|---|
| 27 | Akim:
|
|---|
| 28 | > @@ -31,5 +31,9 @@
|
|---|
| 29 | > DISTCLEAN -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
|
|---|
| 30 | >
|
|---|
| 31 | > maintainer-clean-generic:
|
|---|
| 32 | > +## FIXME: shouldn't we really print these messages before running
|
|---|
| 33 | > +## the dependencies?
|
|---|
| 34 | > + @echo "This command is intended for maintainers to use"
|
|---|
| 35 | > + @echo "it deletes files that may require special tools to rebuild."
|
|---|
| 36 | > -rm -f Makefile.in
|
|---|
| 37 |
|
|---|
| 38 | Tom:
|
|---|
| 39 | > I'd like to eventually fix the FIXME comment by having
|
|---|
| 40 | > maintainer-clean look like:
|
|---|
| 41 | >
|
|---|
| 42 | > maintainer-clean:
|
|---|
| 43 | > @echo ...
|
|---|
| 44 | > $(MAKE) whatever
|
|---|
| 45 | >
|
|---|
| 46 | > We're left with the question of whether we should repeat them in every
|
|---|
| 47 | > subdir.
|
|---|
| 48 |
|
|---|
| 49 | *
|
|---|
| 50 | Alexandre Oliva:
|
|---|
| 51 | > Hmm... Interesting. It must have been a side effect of the enabling
|
|---|
| 52 | > of forced `relink' on GNU/Linux/x86. Anyway, on platforms that
|
|---|
| 53 | > actually require relinking, this problem remains, and I see no way to
|
|---|
| 54 | > overcome it other than arranging for automake to install libraries
|
|---|
| 55 | > before executables, as you suggest. This shouldn't be a big problem,
|
|---|
| 56 | > anyway.
|
|---|
| 57 | >
|
|---|
| 58 | > A bigger problem could show up if two libraries in the same directory,
|
|---|
| 59 | > one dependent on the other, are installed concurrently. If relinking
|
|---|
| 60 | > is needed for the dependent library, we have a problem. It appears to
|
|---|
| 61 | > me that user will have to live without `make -j install', in this
|
|---|
| 62 | > case.
|
|---|
| 63 |
|
|---|
| 64 | Alex Hornby
|
|---|
| 65 | > Here's an Automake patch and changelog entry allow make -j install on
|
|---|
| 66 | > such degenerate systems (and Linux with buggy libtool <g>)
|
|---|
| 67 | >
|
|---|
| 68 | > If you install to locations other that bin_ and lib_ then a larger fix
|
|---|
| 69 | > is necessary, but this should fix the 90% case.
|
|---|
| 70 |
|
|---|
| 71 | * think about how per-object flags should work. in particular:
|
|---|
| 72 | * how should they be specified?
|
|---|
| 73 | using the object name is confusing when .lo/.obj in use
|
|---|
| 74 | however, the object name provides a nice interaction with
|
|---|
| 75 | per-exe flags
|
|---|
| 76 | * how should they interact with per-executable flags?
|
|---|
| 77 | [ this is probably a feature in search of a problem ]
|
|---|
| 78 |
|
|---|
| 79 | * cross-compilation support:
|
|---|
| 80 | programs built and used by the build process need to be
|
|---|
| 81 | built for CC_FOR_BUILD
|
|---|
| 82 | introduce a new prefxi for this, e.g. `build_PROGRAMS'
|
|---|
| 83 | [ we can do this in an automatic way I think.
|
|---|
| 84 | unfortunately it isn't that useful until autoconf has support
|
|---|
| 85 | for this sort of thing as well ]
|
|---|
| 86 |
|
|---|
| 87 | * distcheck should make sure that each file that uses _() is
|
|---|
| 88 | listed in POTFILES.in
|
|---|
| 89 | From Jim Meyering:
|
|---|
| 90 | # Verify that all source files using _() are listed in po/POTFILES.in.
|
|---|
| 91 | po-check:
|
|---|
| 92 | grep -E -v '^(#|$$)' po/POTFILES.in | sort > $@-1
|
|---|
| 93 | grep -E -l '\b_\(' lib/*.c src/*.c | sort > $@-2
|
|---|
| 94 | diff -u $@-1 $@-2
|
|---|
| 95 | rm -f $@-1 $@-2
|
|---|
| 96 |
|
|---|
| 97 | * one performance enhancement would be to have autoconf write
|
|---|
| 98 | a single file containing all the macro assignments.
|
|---|
| 99 | then read this file via `include'
|
|---|
| 100 | unfortunately this can't be done because of conditionals
|
|---|
| 101 | -- but it could be made to work if we also changed:
|
|---|
| 102 | * automake to rewrite @FOO@ to $(FOO), and
|
|---|
| 103 | * the implementation of conditionals to rely on some new
|
|---|
| 104 | config.status magic
|
|---|
| 105 |
|
|---|
| 106 | * support prog_LIBS as override for LIBS
|
|---|
| 107 |
|
|---|
| 108 | * Test subdir-objects option with yacc, lex, ansi2knr
|
|---|
| 109 | Our locking scheme won't prevent a parallel make from losing
|
|---|
| 110 | if there are two `bar.o' files and the timing is just right
|
|---|
| 111 | This only happens with parallel make and no-`-c -o' compiler,
|
|---|
| 112 | so it probably isn't very important
|
|---|
| 113 | `-c -o' when doing libtool
|
|---|
| 114 | try to find a losing compiler and see if it really works.
|
|---|
| 115 | (actually: hack config.cache and do it)
|
|---|
| 116 |
|
|---|
| 117 | * per-exe flags
|
|---|
| 118 | ** We're using `$<' in explicit rules when using per-exe flags
|
|---|
| 119 | ** per-exe flags don't work for CPPFLAGS/YFLAGS/LFLAGS. Fix.
|
|---|
| 120 | ** LIBOBJS shouldn't be used when there are per-exe flags (?)
|
|---|
| 121 |
|
|---|
| 122 | * Test nodist_SOURCES with lex, yacc, etc.
|
|---|
| 123 |
|
|---|
| 124 | * Support subdir-objects with fortran
|
|---|
| 125 |
|
|---|
| 126 | * Allow creation of Java .zip/.jar files in natural way
|
|---|
| 127 | If you are building a compiled Java library, then the .zip/.jar
|
|---|
| 128 | ought to be made automatically.
|
|---|
| 129 |
|
|---|
| 130 | * Run automake before libtool. It will report an error but
|
|---|
| 131 | still won't put the file into the disty. This is wrong.
|
|---|
| 132 | From Mark H Wilkinson <[email protected]>
|
|---|
| 133 |
|
|---|
| 134 | * in gnu/gnits mode, give error if Makefile.am overrides a user
|
|---|
| 135 | variable like CFLAGS.
|
|---|
| 136 | [ this is low priority because the package author can always
|
|---|
| 137 | circumvent our check by redefining in configure.in
|
|---|
| 138 | plus it is probably better to encourage good behavior than to
|
|---|
| 139 | punish bad ]
|
|---|
| 140 |
|
|---|
| 141 | * examine possibility of using any character in a macro name
|
|---|
| 142 | and rewriting names automatically. this means we must rewrite
|
|---|
| 143 | all references as well.
|
|---|
| 144 | [ this is a 2.0-style feature ]
|
|---|
| 145 |
|
|---|
| 146 | * AM_CONFIG_HEADER might generate the wrong stamp file names
|
|---|
| 147 | when given multiple headers. Write a test.
|
|---|
| 148 |
|
|---|
| 149 | * Currently don't correctly handle multiple inputs to a config header.
|
|---|
| 150 | [ this should no matter in the future as acconfig.h and so on are
|
|---|
| 151 | obsoleted by the AH series of macros.]
|
|---|
| 152 |
|
|---|
| 153 | * `distcheck' and `dist' should depend on `all'
|
|---|
| 154 |
|
|---|
| 155 | * Add code to generate foo-config script like gnome, gtk
|
|---|
| 156 |
|
|---|
| 157 | * document user namespace for macro/target names
|
|---|
| 158 | adopt some conventions and use uniformly
|
|---|
| 159 | [ this is a good thing for the rewrite ]
|
|---|
| 160 |
|
|---|
| 161 | * make distcheck uses directories like `=build'.
|
|---|
| 162 | Some (very rare) POSIX systems don't support `=' in filenames.
|
|---|
| 163 | If this ever becomes a problem, fix it
|
|---|
| 164 |
|
|---|
| 165 | * distclean must remove config.status
|
|---|
| 166 | can't this cause problems for maintainer-clean?
|
|---|
| 167 | shouldn't maintainer-clean print the message before running
|
|---|
| 168 | any part of the make? (just to slow things down long enough
|
|---|
| 169 | for the user to stop it)
|
|---|
| 170 | (maybe doesn't matter since people who even know about
|
|---|
| 171 | maintainer-clean already have a clue)
|
|---|
| 172 |
|
|---|
| 173 | * reintroduce AM_FUNC_FNMATCH which sets LIBOBJS
|
|---|
| 174 | Then have automake know about fnmatch.h.
|
|---|
| 175 | [ probably should wait for autoconf to get right functionality ]
|
|---|
| 176 |
|
|---|
| 177 | * "make diff" capability
|
|---|
| 178 | look at gcc's Makefile.in to see what to do
|
|---|
| 179 | or look at maint program
|
|---|
| 180 |
|
|---|
| 181 | * in --cygnus, clean-info not generated at top level
|
|---|
| 182 |
|
|---|
| 183 | * what if an element of a scanned variable looks like
|
|---|
| 184 | $(FOO).$(BAR) ?
|
|---|
| 185 | or some other arbitrary thing?
|
|---|
| 186 | right now we try to cope, but not very well
|
|---|
| 187 | [ this is only of theoretical interest for now ]
|
|---|
| 188 |
|
|---|
| 189 | * make sure every variable that is used is also defined
|
|---|
| 190 | [ we don't really look at variable uses in detail.
|
|---|
| 191 | 2.0 thing ]
|
|---|
| 192 |
|
|---|
| 193 | * make sure `missing' defines are generated
|
|---|
| 194 |
|
|---|
| 195 | * missing should handle install -d and rmdir -p (for uninstall)
|
|---|
| 196 |
|
|---|
| 197 | * NORMAL_INSTALL / NORMAL_UNINSTALL -vs- recursive rules
|
|---|
| 198 | [ requires changes to the standard ]
|
|---|
| 199 |
|
|---|
| 200 | * copyrights on m4 files, aclocal output
|
|---|
| 201 |
|
|---|
| 202 | * should not put texiname_TEXINFOS into distribution
|
|---|
| 203 | should rename this macro anyway, to foo_texi_DEPENDENCIES
|
|---|
| 204 |
|
|---|
| 205 | * For now I guess I'll just have automake give an error if it encounters
|
|---|
| 206 | non-C source in a libtool library specification.
|
|---|
| 207 |
|
|---|
| 208 | * must split $obj into two parts: one for libtool and one for
|
|---|
| 209 | deansification. Otherwise .S files will be deansified!
|
|---|
| 210 |
|
|---|
| 211 | * ansi2knr must currently appear in a directory that has some source
|
|---|
| 212 |
|
|---|
| 213 | * if program has the same name as a target, do something sensible:
|
|---|
| 214 | - if the target is internal, rename it
|
|---|
| 215 | - if the target is mandated (eg, "info"), tell the user
|
|---|
| 216 | consider auto-modifying the program name to work around this
|
|---|
| 217 |
|
|---|
| 218 | * should separate actual options from strictness levels
|
|---|
| 219 | strictness should only cover requirements
|
|---|
| 220 | You should be able to pick and choose options
|
|---|
| 221 |
|
|---|
| 222 | * rewrite in guile (RMS request)
|
|---|
| 223 | at the same time, consider adding a GUI
|
|---|
| 224 | could use the same parsing code for the GUI and the standalone version
|
|---|
| 225 | that means figuring out a better representation of internal state
|
|---|
| 226 | [ that's easy -- anything is better than what we have now ]
|
|---|
| 227 |
|
|---|
| 228 | having just one Makefile for a project would give a big speed increase
|
|---|
| 229 | for a project with many directories, eg glibc. ideally (?) you'd
|
|---|
| 230 | still be able to have a Makefile.am in each directory somehow; this
|
|---|
| 231 | might make editing conceptually easier.
|
|---|
| 232 |
|
|---|
| 233 | * finish up TAGS work
|
|---|
| 234 |
|
|---|
| 235 | * only remove libtool at top level?
|
|---|
| 236 |
|
|---|
| 237 | * clean up source directory by moving stuff into subdirs
|
|---|
| 238 |
|
|---|
| 239 | * consider adding pkglibexecdir, maybe others?
|
|---|
| 240 | requests for pkg-dirs with version included
|
|---|
| 241 |
|
|---|
| 242 | Avoid loops when installing; instead unroll them in automake
|
|---|
| 243 | [ Impossible when @AC_SUBST@ values are used. ]
|
|---|
| 244 |
|
|---|
| 245 | * for new autoconf:
|
|---|
| 246 | * completely handle multi-":" mode for AC_CONFIG_HEADER
|
|---|
| 247 | * Scan multiple input files when Makefile is generated?
|
|---|
| 248 | This would provide flexibility for large projects; subsumes
|
|---|
| 249 | the "Makefile.tmpl" idea
|
|---|
| 250 |
|
|---|
| 251 | [ can't do this. must explain why in manual.
|
|---|
| 252 | basically, solving all the problems is too hard
|
|---|
| 253 | like: how to remove redundancies between generated .in files
|
|---|
| 254 | instead should implement `include' directive for Makefile.am ]
|
|---|
| 255 | * for multi-":" mode and AC_OUTPUT, it might be good to pick the
|
|---|
| 256 | first input file that has a corresponding .am file.
|
|---|
| 257 |
|
|---|
| 258 | Some long-term projects:
|
|---|
| 259 | * if $(FOO) is used somewhere, ensure FOO is defined, either by
|
|---|
| 260 | user or by automake if possible
|
|---|
| 261 |
|
|---|
| 262 | [ include, += support ]
|
|---|
| 263 | * even better would be allowing targets in different included
|
|---|
| 264 | fragments to be merged. e.g., `install-local'.
|
|---|
|
|---|