build: Remove git dependency.

* configure: Remove git dependency.
* build-aux/GNUmakefile.in (clean,distclean, maintainer-clean):
Implement without git.
* INSTALL: Update dependencies.
This commit is contained in:
Jan Nieuwenhuizen 2019-12-04 18:49:39 +01:00
parent 0549ebd0f7
commit d6a3af7625
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
4 changed files with 28 additions and 32 deletions

View File

@ -32,7 +32,6 @@ similar way.
- SH, /bin/sh, GNU Bash 4.3 is known to work. - SH, /bin/sh, GNU Bash 4.3 is known to work.
- GNU coreutils - GNU coreutils
- sed, GNU sed 4.2 is known to work. - sed, GNU sed 4.2 is known to work.
- git, 2.10 is known to work.
- Perl, 5.22 is known to work. - Perl, 5.22 is known to work.
** Build it ** Build it

View File

@ -97,27 +97,36 @@ build:
src/${program_prefix}mes: build src/${program_prefix}mes: build
clean: clean:
git clean -dfx\ rm -f *.o *.s src/mes
-e .config.make\ rm -f mes.{aux,cp,cps,fn,info,log,tmp,toc,vr,vrs}
-e config.sh\ rm -f .log build.log
-e GNUmakefile\ rm -f 0exit-42 0hello-mes exit-42 body-exit-42 body-hello-mes hello-mes
-e build.sh\ rm -f build-aux/mes-snarf.go
-e check.sh\ rm -f module/mescc.go
-e install.sh\ rm -f module/mes/*.go module/mescc/*.go
-e uninstall.sh\ rm -f module/mescc/i386/*.go
-e pre-inst-env\ rm -f module/mescc/x86_64/*.go
-e scripts/mescc\ rm -rf gcc-lib/*.o gcc-lib/*.s gcc-lib/*.a gcc-lib/*-mes
rm -rf mescc-lib/*.o mescc-lib/*.s mescc-lib/*.a mescc-lib/*-mes
rm -f scaffold/boot/*.log scaffold/boot/*.trs
rm -f test-suite.log tests/*.log tests/*.trs
rm -f scaffold/*.s scaffold/*.o
rm -f doc/images/gcc-mesboot-graph.{eps,pdf,png}
rm -f doc/mes.1 doc/mesar.1 doc/mescc.1
rm -f .config .config.E .config.o
# distclean: clean
rm -f GNUmakefile bootstrap.sh build.sh check.sh install.sh uninstall.sh
# Mes does not cache anything on the file system; therefore clean rm -f include/mes/config.h
distclean: rm -f .config.make config.sh mescc-lib/config.sh gcc-lib/config.sh
git clean -dfX rm -f scripts/mesar scripts/mescc scripts/mescc.scm scripts/m2-merge
rm -f TAGS
mostlyclean: clean mostlyclean: clean
maintainer-clean: maintainer-clean: distclean
git clean -dfx rm -f doc/mes.info
rm -f doc/version.texi
TAGS: TAGS:
etags ${srcdest}lib/*.c ${srcdest}lib/*/*.c ${srcdest}src/*.c ${srcdest}include/*.h ${srcdest}include/sys/*.h etags ${srcdest}lib/*.c ${srcdest}lib/*/*.c ${srcdest}src/*.c ${srcdest}include/*.h ${srcdest}include/sys/*.h

13
configure vendored
View File

@ -446,8 +446,7 @@ Some influential environment variables:
(make-dep "makeinfo" #:optional? #t) (make-dep "makeinfo" #:optional? #t)
(make-dep "dot" #:version-option "-V" #:optional? #t) (make-dep "dot" #:version-option "-V" #:optional? #t)
(make-dep "help2man" #:version '(1 47) #:optional? #t) (make-dep "help2man" #:version '(1 47) #:optional? #t)
(make-dep "perl" #:version '(5) #:optional? #t) (make-dep "perl" #:version '(5) #:optional? #t))))
(make-dep "git" #:version '(2) #:optional? #t))))
(guile (file-name "guile" deps)) (guile (file-name "guile" deps))
(deps (if guile (cons (check-program-version (make-dep "nyacc" #:version '(0 86 0) #:commands (list (string-append guile " -c '(use-modules (nyacc lalr)) (display *nyacc-version*)'")) #:file-name #t)) (deps (if guile (cons (check-program-version (make-dep "nyacc" #:version '(0 86 0) #:commands (list (string-append guile " -c '(use-modules (nyacc lalr)) (display *nyacc-version*)'")) #:file-name #t))
deps) deps)
@ -543,15 +542,6 @@ See \"Porting GNU Mes\" in the manual, or try --with-courage\n" mes-system)
(when (pair? missing) (when (pair? missing)
(stderr "\nMissing dependencies: ~a\n" (string-join (map dependency-name missing))) (stderr "\nMissing dependencies: ~a\n" (string-join (map dependency-name missing)))
(exit 1)) (exit 1))
(let ((git (find-dep "git" deps)))
(when (and git
(not (file-exists? ".git")))
;; Debian wants to run `make clean' from a tarball
(and (zero? (system* "git" "init"))
(zero? (system* "git" "add" "."))
(zero? (system* "touch" ".git-for-build"))
(zero? (system* "git" "commit" "--allow-empty" "-m" "Import mes")))))
(let ((pairs `(("@PACKAGE@" . ,PACKAGE) (let ((pairs `(("@PACKAGE@" . ,PACKAGE)
("@PACKAGE_NAME@" . ,PACKAGE-NAME) ("@PACKAGE_NAME@" . ,PACKAGE-NAME)
("@PACKAGE_BUGREPORT@" . ,PACKAGE-BUGREPORT) ("@PACKAGE_BUGREPORT@" . ,PACKAGE-BUGREPORT)
@ -598,7 +588,6 @@ See \"Porting GNU Mes\" in the manual, or try --with-courage\n" mes-system)
("@CC@" . ,(or (file-name "cc" deps) "")) ("@CC@" . ,(or (file-name "cc" deps) ""))
("@DIFF@" . ,(or (file-name "diff" deps) (string-append abs-top-builddir "/pre-inst-env diff.scm"))) ("@DIFF@" . ,(or (file-name "diff" deps) (string-append abs-top-builddir "/pre-inst-env diff.scm")))
("@DOT@" . ,(or (file-name "dot" deps) "")) ("@DOT@" . ,(or (file-name "dot" deps) ""))
("@GIT@" . ,(or (file-name "git" deps) ""))
("@GUILE@" . ,guile) ("@GUILE@" . ,guile)
("@GUIX@" . ,(or (file-name "guix" deps) "")) ("@GUIX@" . ,(or (file-name "guix" deps) ""))
("@HELP2MAN@" . ,(or (file-name "help2man" deps) "")) ("@HELP2MAN@" . ,(or (file-name "help2man" deps) ""))

View File

@ -138,8 +138,7 @@ extensive examples, including parsers for the Javascript and C99 languages.")
`(("mescc-tools" ,mescc-tools) `(("mescc-tools" ,mescc-tools)
("nyacc" ,nyacc))) ("nyacc" ,nyacc)))
(native-inputs (native-inputs
`(("git" ,git) `(("guile" ,guile-2.2)
("guile" ,guile-2.2)
,@(if (string-prefix? "x86_64-linux" (or (%current-target-system) ,@(if (string-prefix? "x86_64-linux" (or (%current-target-system)
(%current-system))) (%current-system)))
;; Use cross-compiler rather than #:system "i686-linux" to get ;; Use cross-compiler rather than #:system "i686-linux" to get