[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 5f96fe4: Rework MinGW gcc installation for cy
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master 5f96fe4: Rework MinGW gcc installation for cygwin |
Date: |
Fri, 3 May 2019 19:20:07 -0400 (EDT) |
branch: master
commit 5f96fe41ccf0f35abae852e9f9b8a7e1dacf99c9
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>
Rework MinGW gcc installation for cygwin
Merged the important parts of branch odd/fruitbat, which attempted to
make the 'INSTALL' instructions work for a cygwin-1.7 system installed
from crouchingtigerhiddenfruitbat.org .
* install_cygwin.bat: Repent of past practice (installing MinGW gcc in
the msw root, then using that installation through a cygwin mount),
which was cumbersome and unnecessary.
* install_mingw.make: Use only subdirectories of /opt/lmi for extraction
and installation of MinGW gcc archives. In the unfortunate case that the
msw-native '7-Zip' program is used, extracting to a directory outside of
cygwin can cause the extracted files and subdirectories to be invisible
to cygwin, and inaccessible, too--such that a cygwin administrative user
cannot 'rm' them due to msw ACLs. This may very well be the real reason
for the problem described here:
https://lists.nongnu.org/archive/html/lmi/2018-03/msg00017.html
for which no convincing explanation had hitherto been found.
Incidentally, add another fallback '7-Zip' command in case the first one
fails, using 'cygpath' to translate its destination directory (as might
also be necessary for the first '7-Zip' command).
* install_libxml2_libxslt.make: Use new MinGW directories for cygwin.
* install_wx.sh: Likewise.
* install_wxpdfdoc.sh: Likewise.
* msw_cygwin.make: Likewise. Abandon the idea of installing multiple
MinGW gcc archives and selecting dynamically among them.
---
install_cygwin.bat | 1 -
install_libxml2_libxslt.make | 2 +-
install_mingw.make | 7 ++++---
install_wx.sh | 2 +-
install_wxpdfdoc.sh | 2 +-
msw_cygwin.make | 10 ++--------
6 files changed, 9 insertions(+), 15 deletions(-)
diff --git a/install_cygwin.bat b/install_cygwin.bat
index ecd1254..64a2e7f 100644
--- a/install_cygwin.bat
+++ b/install_cygwin.bat
@@ -35,7 +35,6 @@ START "Installing Cygwin" /WAIT setup-x86_64 ^
"autoconf,automake,bsdtar,dos2unix,doxygen,gdb,git,libtool,make,openssh,patch,pkg-config,rsync,unzip,wget,zip,zsh"
cd C:\cygwin64_lmi\etc
echo # >> fstab
-echo C:/opt/lmi/MinGW-7_3_0 /MinGW_ lmi_specific binary,user 0 0 >>
fstab
echo C:/opt/lmi /opt/lmi lmi_specific binary,user 0 0 >>
fstab
echo C:/cache_for_lmi /cache_for_lmi lmi_specific binary,user 0 0 >>
fstab
echo Cygwin installation seems to have succeeded
diff --git a/install_libxml2_libxslt.make b/install_libxml2_libxslt.make
index 77d44a5..e5574bd 100644
--- a/install_libxml2_libxslt.make
+++ b/install_libxml2_libxslt.make
@@ -46,7 +46,7 @@ host_path := libxml2
$(xz_version).tar.gz: host := https://sourceforge.net
$(xz_version).tar.gz: host_path := projects/lzmautils/files
-mingw_dir := /MinGW_
+mingw_dir := /opt/lmi/mingw
LMI_COMPILER ?= gcc
LMI_TRIPLET ?= i686-w64-mingw32
diff --git a/install_mingw.make b/install_mingw.make
index 4f5f1ea..21de260 100644
--- a/install_mingw.make
+++ b/install_mingw.make
@@ -42,11 +42,11 @@ file_list = $($(version))
# http://article.gmane.org/gmane.comp.gnu.mingw.user/14748
# [2005-01-17T18:15:26Z from Aaron W. LaFramboise]
-prefix := /MinGW_
+prefix := /opt/lmi/mingw
cache_dir := /cache_for_lmi/downloads
-ad_hoc_dir := $(prefix)/ad_hoc
+ad_hoc_dir := /opt/lmi/zzz/mingw-ad_hoc/ad_hoc
# In the past, it seemed necessary to specify a mirror, e.g.:
# mirror := http://easynews.dl.sourceforge.net/sourceforge/mingw
@@ -129,4 +129,5 @@ WGETFLAGS := --no-verbose
cd $(cache_dir) && [ -e $@ ] || $(WGET) $(WGETFLAGS) $(mirror)/$@
cd $(cache_dir) && $(ECHO) "$(address@hidden) *$@" | $(MD5SUM) --check
$(BSDTAR) --extract $(BSDTARFLAGS) --directory=$(ad_hoc_dir)
--file=$(cache_dir)/$@ \
- || c:/Program\ Files/7-Zip/7z x `cygpath -w
$(cache_dir)/address@hidden -o$(ad_hoc_dir)
+ || c:/Program\ Files/7-Zip/7z x `cygpath -w
$(cache_dir)/address@hidden -o$(ad_hoc_dir) \
+ || c:/Program\ Files\ \(x86\)/7-Zip/7z x `cygpath -w
$(cache_dir)/address@hidden -o`cygpath -w $(ad_hoc_dir)`
diff --git a/install_wx.sh b/install_wx.sh
index 13f0da7..294da80 100755
--- a/install_wx.sh
+++ b/install_wx.sh
@@ -46,7 +46,7 @@ LMI_TRIPLET=${LMI_TRIPLET:-"i686-w64-mingw32"}
# Variables that normally should be left alone
#################################
-mingw_dir=/MinGW_
+mingw_dir=/opt/lmi/mingw
prefix=/opt/lmi/"${LMI_COMPILER}_${LMI_TRIPLET}"/local
exec_prefix="$prefix"
diff --git a/install_wxpdfdoc.sh b/install_wxpdfdoc.sh
index 039fa93..b58ec1c 100755
--- a/install_wxpdfdoc.sh
+++ b/install_wxpdfdoc.sh
@@ -46,7 +46,7 @@ LMI_TRIPLET=${LMI_TRIPLET:-"i686-w64-mingw32"}
# Variables that normally should be left alone
#################################
-mingw_dir=/MinGW_
+mingw_dir=/opt/lmi/mingw
prefix=/opt/lmi/"${LMI_COMPILER}_${LMI_TRIPLET}"/local
exec_prefix="$prefix"
diff --git a/msw_cygwin.make b/msw_cygwin.make
index e4cc042..c9bf07e 100644
--- a/msw_cygwin.make
+++ b/msw_cygwin.make
@@ -54,13 +54,7 @@ system_root := /cygdrive/c
# Full path to gcc binaries, slash-terminated if nonempty. Setting it
# to an empty string finds gcc on $PATH instead.
-ifeq (i686-w64-mingw32,$(LMI_TRIPLET))
- gcc_bin_dir := /MinGW_/mingw32/bin/
-else ifeq (x86_64-w64-mingw32,$(LMI_TRIPLET))
- gcc_bin_dir := /MinGW_/mingw64/bin/
-else
- $(warning Unexpected triplet '$(LMI_TRIPLET)')
-endif
+gcc_bin_dir := /opt/lmi/mingw/bin/
# Oddly, MinGW-w64 provides prefixed versions of compilers, e.g.:
# i686-w64-mingw32-gcc.exe
@@ -85,7 +79,7 @@ RC := $(gcc_bin_dir)$(host_hyphen)windres
# https://cygwin.com/ml/cygwin/2010-09/msg00553.html
# Of course manipulating an lmi user's $PATH is out of the question.
-compiler_sysroot := /MinGW_/$(LMI_TRIPLET)/lib
+compiler_sysroot := /opt/lmi/mingw/$(LMI_TRIPLET)/lib
compiler_runtime_files := \
$(wildcard $(compiler_sysroot)/libgcc*.dll) \
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [lmi] master 5f96fe4: Rework MinGW gcc installation for cygwin,
Greg Chicares <=