##// END OF EJS Templates
inno: remove w9xpopen.exe...
inno: remove w9xpopen.exe w9xpopen.exe is a utility program shipped with Python <3.4 (https://bugs.python.org/issue14470 tracked its removal). The program was used by subprocess to wrap invoked processes on Windows 95 and 98 or when command.com was used in order to work around a redirect bug. The workaround is only used on ancient Windows versions - versions that we shouldn't see in 2019. While Python 2.7's subprocess module still references w9xpopen.exe, not shipping it shouldn't matter unless we're running an ancient version of Windows. Python will raise an exception if w9xpopen.exe can't be found. It's highly unlikely anyone is using current Mercurial releases on these ancient Windows versions. So remove w9xpopen.exe from the Inno installer. .. bc:: The 32-bit Windows Inno installers no longer distribute w9xpopen.exe. This should only impact people running Mercurial on Windows 95, 98, or ME. Differential Revision: https://phab.mercurial-scm.org/D6068

File last commit:

r41003:462a2675 default
r42021:2dbdb9ab default
Show More
Makefile
248 lines | 8.2 KiB | text/x-makefile | MakefileLexer
Martin Geisler
Makefile: added instructions on how to override PREFIX
r10134 # If you want to change PREFIX, do not just edit it below. The changed
# value wont get passed on to recursive make calls. You should instead
# override the variable on the command like:
#
# % make PREFIX=/opt/ install
Augie Fackler
make: do assignment and export in a single statement...
r29004 export PREFIX=/usr/local
Thomas Arendsen Hein
Add Makefile for generating release tarballs....
r1008 PYTHON=python
Siddharth Agarwal
make: backout changeset 51f5fae84e43...
r29009 $(eval HGROOT := $(shell pwd))
Augie Fackler
Makefile: introduce testpy-% target for testing with a specifc Python...
r24194 HGPYTHONS ?= $(HGROOT)/build/pythons
Martin Geisler
use PURE option in Makefile
r7706 PURE=
FUJIWARA Katsunori
i18n: avoid substitution of PYFILES at runtime for readability of output...
r38849 PYFILESCMD=find mercurial hgext doc -name '*.py'
PYFILES:=$(shell $(PYFILESCMD))
Martin Geisler
Makefile: var for documentation files
r12817 DOCFILES=mercurial/help/*.txt
Takumi IINO
doc: make i18n man and html...
r19427 export LANGUAGE=C
export LC_ALL=C
Augie Fackler
Makefile: allow setting HGTESTFLAGS in shell environment for TESTFLAGS...
r24195 TESTFLAGS ?= $(shell echo $$HGTESTFLAGS)
Augie Fackler
osx: wire up genosxversion script...
r33596 OSXVERSIONFLAGS ?= $(shell echo $$OSXVERSIONFLAGS)
Thomas Arendsen Hein
Add Makefile for generating release tarballs....
r1008
Bryan O'Sullivan
makefile: allow local builds to work on windows/mingw32
r18056 # Set this to e.g. "mingw32" to use a non-default compiler.
COMPILER=
Augie Fackler
make: alter how we compute compiler flags for setup.py...
r29003 COMPILERFLAG_tmp_ =
COMPILERFLAG_tmp_${COMPILER} ?= -c $(COMPILER)
COMPILERFLAG=${COMPILERFLAG_tmp_${COMPILER}}
Thomas Arendsen Hein
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
r2244 help:
@echo 'Commonly used make targets:'
@echo ' all - build program and documentation'
Matt Mackall
makefile: add $ to environment variables in help message
r20311 @echo ' install - install program and man pages to $$PREFIX ($(PREFIX))'
@echo ' install-home - install with setup.py install --home=$$HOME ($(HOME))'
Markus F.X.J. Oberhumer
Makefile: change "make local" to build a fully working local version.
r4706 @echo ' local - build for inplace usage'
Thomas Arendsen Hein
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
r2244 @echo ' tests - run all tests in the automatic test suite'
Thomas Arendsen Hein
Makefile: adjust example, test-merge1 is now test-merge1.t
r15379 @echo ' test-foo - run only specified tests (e.g. test-merge1.t)'
Thomas Arendsen Hein
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
r2244 @echo ' dist - run all tests and create a source tarball in dist/'
@echo ' clean - remove files created by other targets'
@echo ' (except installed files or dist source tarball)'
Martin Geisler
i18n: let Makefile generate i18n/hg.pot...
r7648 @echo ' update-pot - update i18n/hg.pot'
Thomas Arendsen Hein
Just using 'make' now shows help. 'make all' doesn't perform inplace build.
r2244 @echo
@echo 'Example for a system-wide installation under /usr/local:'
@echo ' make all && su -c "make install" && hg version'
@echo
@echo 'Example for a local installation (usable in this directory):'
@echo ' make local && ./hg version'
all: build doc
Thomas Arendsen Hein
New make targets:...
r2235
local:
Bryan O'Sullivan
makefile: allow local builds to work on windows/mingw32
r18056 $(PYTHON) setup.py $(PURE) \
build_py -c -d . \
Augie Fackler
make: alter how we compute compiler flags for setup.py...
r29003 build_ext $(COMPILERFLAG) -i \
build_hgexe $(COMPILERFLAG) -i \
Bryan O'Sullivan
makefile: allow local builds to work on windows/mingw32
r18056 build_mo
Bryan O'Sullivan
makefile: don't use system hgrc when running hg in-place...
r17927 env HGRCPATH= $(PYTHON) hg version
mpm@selenic.com
Add default make rule...
r1020
Thomas Arendsen Hein
New make targets:...
r2235 build:
Augie Fackler
make: alter how we compute compiler flags for setup.py...
r29003 $(PYTHON) setup.py $(PURE) build $(COMPILERFLAG)
Thomas Arendsen Hein
New make targets:...
r2235
Nathan Goldbaum
makefile: add wheel build target
r26601 wheel:
Augie Fackler
make: alter how we compute compiler flags for setup.py...
r29003 FORCE_SETUPTOOLS=1 $(PYTHON) setup.py $(PURE) bdist_wheel $(COMPILERFLAG)
Nathan Goldbaum
makefile: add wheel build target
r26601
Thomas Arendsen Hein
New make targets:...
r2235 doc:
$(MAKE) -C doc
Thomas Arendsen Hein
Add Makefile for generating release tarballs....
r1008
Pierre-Yves David
make: introduce a target to clean everything but packages...
r29640 cleanbutpackages:
Greg Ward
Makefile: fix grammar in comment
r8365 -$(PYTHON) setup.py clean --all # ignore errors from this command
Sean Farley
make: add new directory 'hgdemandimport' to cleanbutpackages rule...
r33606 find contrib doc hgext hgext3rd i18n mercurial tests hgdemandimport \
Matt Mackall
make: restrict recursion in make clean
r20007 \( -name '*.py[cdo]' -o -name '*.so' \) -exec rm -f '{}' ';'
J. Lewis Muir
build: don't clean __version__.py on 'make clean' in release tarballs...
r22375 rm -f MANIFEST MANIFEST.in hgext/__index__.py tests/*.err
timeless
setup: create a module for the modulepolicy...
r28430 rm -f mercurial/__modulepolicy__.py
J. Lewis Muir
build: don't clean __version__.py on 'make clean' in release tarballs...
r22375 if test -d .hg; then rm -f mercurial/__version__.py; fi
Pierre-Yves David
make: introduce a target to clean everything but packages...
r29640 rm -rf build mercurial/locale
levon@movementarian.org
Use $(MAKE) not make
r1423 $(MAKE) -C doc clean
Sean Farley
make: add chg to clean rule
r28974 $(MAKE) -C contrib/chg distclean
Georges Racinet
rust: make clean takes care of rust/target...
r40868 rm -rf rust/target
Georges Racinet
rust-cpython: build via HGWITHRUSTEXT=cpython...
r41003 rm -f mercurial/rustext.so
Thomas Arendsen Hein
Add Makefile for generating release tarballs....
r1008
Pierre-Yves David
make: introduce a target to clean everything but packages...
r29640 clean: cleanbutpackages
rm -rf packages
Sascha Wilde
Split installation targets into install-bin and install-doc....
r2527 install: install-bin install-doc
install-bin: build
Dévai Tamás
Respect the DESTDIR variable during 'make install'...
r10961 $(PYTHON) setup.py $(PURE) install --root="$(DESTDIR)/" --prefix="$(PREFIX)" --force
Sascha Wilde
Split installation targets into install-bin and install-doc....
r2527
install-doc: doc
Thomas Arendsen Hein
New make targets:...
r2235 cd doc && $(MAKE) $(MFLAGS) install
Sascha Wilde
Split installation targets into install-bin and install-doc....
r2527 install-home: install-home-bin install-home-doc
install-home-bin: build
Augie Fackler
setup: specify --prefix="" for install-home-bin to avoid badness with defaults...
r20614 $(PYTHON) setup.py $(PURE) install --home="$(HOME)" --prefix="" --force
Sascha Wilde
Split installation targets into install-bin and install-doc....
r2527
install-home-doc: doc
Thomas Arendsen Hein
New make targets:...
r2235 cd doc && $(MAKE) $(MFLAGS) PREFIX="$(HOME)" install
Benoit Boissinot
fix MANIFEST generation
r3872 MANIFEST-doc:
$(MAKE) -C doc MANIFEST
Stephen Thorne
distutils: Create MANIFEST.in instead of MANIFEST in Makefile...
r14558 MANIFEST.in: MANIFEST-doc
hg manifest | sed -e 's/^/include /' > MANIFEST.in
echo include mercurial/__version__.py >> MANIFEST.in
sed -e 's/^/include /' < doc/MANIFEST >> MANIFEST.in
Benoit Boissinot
fix MANIFEST generation
r3872
Thomas Arendsen Hein
New make target "dist-notests" to create tarballs without running tests first.
r2234 dist: tests dist-notests
Stephen Thorne
distutils: Create MANIFEST.in instead of MANIFEST in Makefile...
r14558 dist-notests: doc MANIFEST.in
Matt Mackall
Make make dist a bit quieter
r3865 TAR_OPTIONS="--owner=root --group=root --mode=u+w,go-w,a+rX-s" $(PYTHON) setup.py -q sdist
Thomas Arendsen Hein
Add Makefile for generating release tarballs....
r1008
Johan Euphrosine
add make check: tests rule
r14172 check: tests
Thomas Arendsen Hein
Add Makefile for generating release tarballs....
r1008 tests:
Benoit Boissinot
add possibility to pass flags when testing with the Makefile
r3969 cd tests && $(PYTHON) run-tests.py $(TESTFLAGS)
Thomas Arendsen Hein
Add Makefile for generating release tarballs....
r1008
Benoit Boissinot
add a target for running only one test
r1426 test-%:
Benoit Boissinot
add possibility to pass flags when testing with the Makefile
r3969 cd tests && $(PYTHON) run-tests.py $(TESTFLAGS) $@
Benoit Boissinot
add a target for running only one test
r1426
Augie Fackler
Makefile: introduce testpy-% target for testing with a specifc Python...
r24194 testpy-%:
@echo Looking for Python $* in $(HGPYTHONS)
[ -e $(HGPYTHONS)/$*/bin/python ] || ( \
cd $$(mktemp --directory --tmpdir) && \
$(MAKE) -f $(HGROOT)/contrib/Makefile.python PYTHONVER=$* PREFIX=$(HGPYTHONS)/$* python )
cd tests && $(HGPYTHONS)/$*/bin/python run-tests.py $(TESTFLAGS)
Benoit Boissinot
check-code: add Makefile target to run check-code
r18598 check-code:
hg manifest | xargs python contrib/check-code.py
Augie Fackler
makefile: add target to apply clang-format in-place...
r34860 format-c:
clang-format --style file -i \
Gregory Szorc
contrib: rename clang-format-blacklist to clang-format-ignorelist...
r37201 `hg files 'set:(**.c or **.cc or **.h) and not "listfile:contrib/clang-format-ignorelist"'`
Augie Fackler
makefile: add target to apply clang-format in-place...
r34860
Tobias Bell
enhance Makefile for language translators...
r7893 update-pot: i18n/hg.pot
Simon Heimberg
Makefile: hg.pot depends on the scripts generating it...
r20358 i18n/hg.pot: $(PYFILES) $(DOCFILES) i18n/posplit i18n/hggettext
Martin Geisler
i18n: accurately generate hg.pot
r8542 $(PYTHON) i18n/hggettext mercurial/commands.py \
FUJIWARA Katsunori
filemerge: create detail of internal merge tools from documentation string...
r16126 hgext/*.py hgext/*/__init__.py \
mercurial/fileset.py mercurial/revset.py \
Yuya Nishihara
templater: split template functions to new module...
r36940 mercurial/templatefilters.py \
mercurial/templatefuncs.py \
mercurial/templatekw.py \
FUJIWARA Katsunori
filemerge: create detail of internal merge tools from documentation string...
r16126 mercurial/filemerge.py \
FUJIWARA Katsunori
i18n: extract doc string of each web commands as translatable one...
r24859 mercurial/hgweb/webcommands.py \
FUJIWARA Katsunori
i18n: get translation entries for description of each compression engines...
r33819 mercurial/util.py \
Simon Heimberg
Makefile: temporary copy of hg.pot is hg.pot.tmp instead of hg.pot~...
r20121 $(DOCFILES) > i18n/hg.pot.tmp
Martin Geisler
i18n: extract strings with xgettext...
r7710 # All strings marked for translation in Mercurial contain
# ASCII characters only. But some files contain string
# literals like this '\037\213'. xgettext thinks it has to
Martin Geisler
Makefile: fixed comment
r8273 # parse them even though they are not marked for translation.
# Extracting with an explicit encoding of ISO-8859-1 will make
# xgettext "parse" and ignore them.
FUJIWARA Katsunori
i18n: avoid substitution of PYFILES at runtime for readability of output...
r38849 $(PYFILESCMD) | xargs \
Martin Geisler
Makefile: remove non-default wrapping of hg.pot strings
r9278 xgettext --package-name "Mercurial" \
FUJIWARA Katsunori
misc: replace domain of mercurial-devel ML address by mercurial-scm.org...
r30890 --msgid-bugs-address "<mercurial-devel@mercurial-scm.org>" \
Martin Geisler
Makefile: add more meta data to hg.pot
r8272 --copyright-holder "Matt Mackall <mpm@selenic.com> and others" \
Wagner Bruna
i18n: extract comments marked for translator hints...
r12806 --from-code ISO-8859-1 --join --sort-by-file --add-comments=i18n: \
Simon Heimberg
Makefile: temporary copy of hg.pot is hg.pot.tmp instead of hg.pot~...
r20121 -d hg -p i18n -o hg.pot.tmp
$(PYTHON) i18n/posplit i18n/hg.pot.tmp
Simon Heimberg
Makefile: intermediate steps work with temporary copy of hg.pot...
r20080 # The target file is not created before the last step. So it never is in
# an intermediate state.
Simon Heimberg
Makefile: temporary copy of hg.pot is hg.pot.tmp instead of hg.pot~...
r20121 mv -f i18n/hg.pot.tmp i18n/hg.pot
Thomas Arendsen Hein
Add Makefile for generating release tarballs....
r1008
Tobias Bell
enhance Makefile for language translators...
r7893 %.po: i18n/hg.pot
Simon Heimberg
Makefile: do update on a temporary copy of a po file...
r19991 # work on a temporary copy for never having a half completed target
cp $@ $@.tmp
msgmerge --no-location --update $@.tmp $^
Simon Heimberg
Makefile: fix po file updating by using same file name everywhere...
r20120 mv -f $@.tmp $@
Tobias Bell
enhance Makefile for language translators...
r7893
Matt Mackall
build: initial support for in-tree autobuilding recipes
r21255 # Packaging targets
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034 packaging_targets := \
centos5 \
centos6 \
centos7 \
deb \
docker-centos5 \
docker-centos6 \
docker-centos7 \
docker-debian-jessie \
docker-debian-stretch \
docker-fedora20 \
docker-fedora21 \
Augie Fackler
packaging: add fedora 28...
r38580 docker-fedora28 \
Augie Fackler
packaging: add Fedora 29 target...
r40621 docker-fedora29 \
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034 docker-ubuntu-trusty \
docker-ubuntu-trusty-ppa \
docker-ubuntu-xenial \
docker-ubuntu-xenial-ppa \
docker-ubuntu-artful \
docker-ubuntu-artful-ppa \
docker-ubuntu-bionic \
docker-ubuntu-bionic-ppa \
fedora20 \
fedora21 \
Augie Fackler
packaging: add fedora 28...
r38580 fedora28 \
Augie Fackler
packaging: add Fedora 29 target...
r40621 fedora29 \
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034 linux-wheels \
linux-wheels-x86_64 \
linux-wheels-i686 \
ppa
# Forward packaging targets for convenience.
$(packaging_targets):
$(MAKE) -C contrib/packaging $@
Matt Mackall
make: add a basic osx mpkg target
r21559 osx:
Augie Fackler
osx: always purge build/mercurial before starting build...
r31611 rm -rf build/mercurial
Augie Fackler
osx: explicitly build hg with /usr/bin/python2.7...
r29535 /usr/bin/python2.7 setup.py install --optimize=1 \
Kevin Bullock
osx: create a modern package including manpages...
r29027 --root=build/mercurial/ --prefix=/usr/local/ \
--install-lib=/Library/Python/2.7/site-packages/
make -C doc all install DESTDIR="$(PWD)/build/mercurial/"
Augie Fackler
osx: override default exclude filter for pkgbuild...
r32603 # Place a bogon .DS_Store file in the target dir so we can be
# sure it doesn't get included in the final package.
touch build/mercurial/.DS_Store
Augie Fackler
osx: install bash and zsh completions by default...
r31142 # install zsh completions - this location appears to be
# searched by default as of macOS Sierra.
Augie Fackler
osx: install completion scripts using install(1) to avoid umask badness...
r31609 install -d build/mercurial/usr/local/share/zsh/site-functions/
Kyle Lippincott
zsh_completion: install as _hg not hg...
r32604 install -m 0644 contrib/zsh_completion build/mercurial/usr/local/share/zsh/site-functions/_hg
Augie Fackler
osx: install bash and zsh completions by default...
r31142 # install bash completions - there doesn't appear to be a
# place that's searched by default for bash, so we'll follow
# the lead of Apple's git install and just put it in a
# location of our own.
Augie Fackler
osx: install completion scripts using install(1) to avoid umask badness...
r31609 install -d build/mercurial/usr/local/hg/contrib/
install -m 0644 contrib/bash_completion build/mercurial/usr/local/hg/contrib/hg-completion.bash
Augie Fackler
osx: include chg by default
r32471 make -C contrib/chg \
HGPATH=/usr/local/bin/hg \
PYTHON=/usr/bin/python2.7 \
HGEXTDIR=/Library/Python/2.7/site-packages/hgext \
DESTDIR=../../build/mercurial \
PREFIX=/usr/local \
clean install
Kevin Bullock
osx: create a modern package including manpages...
r29027 mkdir -p $${OUTPUTDIR:-dist}
Kevin Bullock
osx: delay version computation on macOS builds...
r33779 HGVER=$$(python contrib/genosxversion.py $(OSXVERSIONFLAGS) build/mercurial/Library/Python/2.7/site-packages/mercurial/__version__.py) && \
Kevin Bullock
osx: create a modern package including manpages...
r29027 OSXVER=$$(sw_vers -productVersion | cut -d. -f1,2) && \
Augie Fackler
osx: override default exclude filter for pkgbuild...
r32603 pkgbuild --filter \\.DS_Store --root build/mercurial/ \
Augie Fackler
osx: stamp the hg version into the version field in the pkg...
r29777 --identifier org.mercurial-scm.mercurial \
--version "$${HGVER}" \
build/mercurial.pkg && \
Gregory Szorc
packaging: move contrib/macosx to contrib/packaging/...
r38032 productbuild --distribution contrib/packaging/macosx/distribution.xml \
Kevin Bullock
osx: create a modern package including manpages...
r29027 --package-path build/ \
--version "$${HGVER}" \
Gregory Szorc
packaging: move contrib/macosx to contrib/packaging/...
r38032 --resources contrib/packaging/macosx/ \
Kevin Bullock
osx: create a modern package including manpages...
r29027 "$${OUTPUTDIR:-dist/}"/Mercurial-"$${HGVER}"-macosx"$${OSXVER}".pkg
Matt Mackall
make: add a basic osx mpkg target
r21559
Pierre-Yves David
make: introduce a target to clean everything but packages...
r29640 .PHONY: help all local build doc cleanbutpackages clean install install-bin \
install-doc install-home install-home-bin install-home-doc \
av6
makefile: put format-c into .PHONY targets
r34928 dist dist-notests check tests check-code format-c update-pot \
Gregory Szorc
packaging: move most packaging targets to own Makefile...
r38034 $(packaging_targets) \
osx