XQuartz
XQuartz copied to clipboard
./compile.sh always seems to rebuild absolutely everything ...
Is it just me? It seems that when subprojects have been built, and are without any changes, running ./compile.sh to fix up some issue (eg when I was working on do_meson_build) would rebuild the entire tree from the start every time...
I worked around it with some hacking in compile.sh, but seems like I am missing something perhaps...
Yeah. it just runs through and rebuilds everyhing. I usually hack in an 'if false ; then ... fi' if I need to skip things. It oculd certainly be better. =/
Would there be interest in build system improvements that make the following changes?
- Incremental builds
- Package manager agnostic
- No sudo
- Completely in tree dev builds (don't touch
/opt
,/Applications
, or anything outside of$SRCROOT
) - Document the build system
I would be interested in contributing those changes. I believe they would help current maintainers and contributors as well as making it easier for newcomers.
Yes, absolutely. Thanks!
Just for anyone reading this in the meantime, the current MacPorts installation already does not touch /Applications as it is, and if using sudo is an issue for you, you can edit install_or_update_macports.sh
to install MacPorts into the current $SRCROOT and remove the sudo use from the script in a few seconds.
Having a fully-package-manager agnostic build tools setup is a worthy goal. python39 alone has a fair few supporting ports
% port rdeps python39
The following ports are dependencies of python39 @3.9.6_0:
xz
libiconv
gperf
gettext
ncurses
pkgconfig
bzip2
expat
libedit
libffi
autoconf
m4
automake
libtool
xattr
unzip
expect
tcl
dejagnu
openssl
zlib
sqlite3
python_select
python3_select
and so there might be some work to do if the existing system tools aren't new enough.