[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed
From: |
Phillip Lord |
Subject: |
Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed |
Date: |
Wed, 19 Jan 2022 18:28:46 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) |
"H. Dieter Wilhelm" <dieter@duenenhof-wilhelm.de> writes:
> Phillip Lord <phillip.lord@russet.org.uk> writes:
>>> And when we are at it, please tell me your recipe how to build a
>>> snapshot of the master branch. I think my build tree is damaged, I
>>> don't manage to build a snapshot of emacs-29 with a date included..
>>>
>>> Shouldn't it be just:
>>>
>>> $ build-zips.sh -g
>>> $ build-zips.sh -s
>>
>> Yes, I think that should do it.
>>
>> Then, the I build the source like so.
>>
>> ./make-dist --snapshot --no-check --no-changelog
>> rename .tar _`date +%Y-%m-%d`.tar emacs*.tar.gz
>> mv emacs-*.tar.gz ~/emacs-upload
>>
>> I don't think I ever automated this bit.
>
> Uups, I thought this - or similar - would be done by below part of
> build-zips.sh?
>
>
> make -j 4 $INSTALL_TARGET \
> prefix=$HOME/emacs-build/install/emacs-$VERSION
> cd $HOME/emacs-build/install/emacs-$VERSION
> zip -r -9 emacs-$OF_VERSION-no-deps.zip *
> mv emacs-$OF_VERSION-no-deps.zip $HOME/emacs-upload
>
> if [ -z $SNAPSHOT ];
> then
> DEPS_FILE=$HOME/emacs-build/deps/emacs-$MAJOR_VERSION-deps.zip
> else
> ## Pick the most recent snapshot whatever that is
> DEPS_FILE=`ls $HOME/emacs-build/deps/emacs-$MAJOR_VERSION-*-deps.zip
> | tail -n 1`
> fi
>
> echo [build] Using $DEPS_FILE
> unzip -d bin $DEPS_FILE
>
> zip -r -9 emacs-$OF_VERSION.zip *
> mv emacs-$OF_VERSION.zip ~/emacs-upload
I was struggling to remember what was going on there, and then it hit
me!
This bit of code adds the dependencies. I have to ship the source code
for the dependencies also, but that is produced with build-deps-zips.py.
That doesn't change for an Emacs release cycle (I normally make a deps
bundle at the time of the first pre-test, then do not change it for a
major version).
Source for Emacs is different. I do *not* make source for an Emacs
release build, because I put the Windows binaries on ftp.gnu.org which
is also where the main Emacs release goes which is already a source
release; and as I don't build the binaries till after the source release
happens, this means I fulfil GPL that way.
For the snapshot, I have to release the source code along with the
binaries because no one builds snapshot tarballs (I mean what would be
the point).
This bit does that:
./make-dist --snapshot --no-check --no-changelog
The overly complicated command line was to stop configure being re-run
which then forces a full build when I build snapshots
incrementally. When I used to do them every month or so this was a big
advantage.
>
>> The model of build-zips.sh is probably a bit complicated and could be
>> simplified. The addition of snapshots and the ability to build from a
>> branch makes it much more so and the documentation isn't always well
>> done. I have been trying to remember why I called the variable
>> "OF_VERSION" so, or what "OF" stands for, and have failed!
>
> Not only above is confusing, but also why is
>
> INSTALL_TARGET="install-strip"
>
> in the script? (Back to pretest building) I've got an error for
>
> $ build-zips.sh -V28
>
> in the emacs-28 worktree, maybe, that is a wrong usage of the scrip?
> Anyway, "install-strip" seems not to be a valid target for make!?
Eli suggested it! I think install-strip follows the GNU standards. It
makes the release smaller and the binaries faster, IIRC.
>> Apologies for this.
>
> No reason to apologise, it was working for you. Rather, thank you for
> your work. :-)
Yeah, but now I struggle to remember what some of it was for. I always
teach my students to comment for this reason and, yet, here I am. Do as
I say, I guess.
Phil
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, (continued)
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Phillip Lord, 2022/01/19
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Eli Zaretskii, 2022/01/19
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, H. Dieter Wilhelm, 2022/01/19
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Eli Zaretskii, 2022/01/19
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Phillip Lord, 2022/01/19
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Phillip Lord, 2022/01/19
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, H. Dieter Wilhelm, 2022/01/19
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed,
Phillip Lord <=
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Phillip Lord, 2022/01/17
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Óscar Fuentes, 2022/01/17
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, H. Dieter Wilhelm, 2022/01/17
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Óscar Fuentes, 2022/01/17
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, H. Dieter Wilhelm, 2022/01/17
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Phillip Lord, 2022/01/17
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Robert Pluim, 2022/01/18
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Eli Zaretskii, 2022/01/18
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Óscar Fuentes, 2022/01/18
- Re: Native compilation on Windows, was Re: Bootstrap Compilation Speed, Phillip Lord, 2022/01/18