mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-23 21:34:18 +08:00
Merge branch 'gnumake_fix' into 'master'
Update GNU make to v4.4 and create new recipe and new patch. See merge request redox-os/cookbook!390
This commit is contained in:
commit
d6bdf0aa7f
@ -1,123 +0,0 @@
|
||||
diff -ru make-4.2/config/config.sub make-4.2-new/config/config.sub
|
||||
--- make-4.2/config/config.sub 2018-11-16 21:11:15.392794814 -0700
|
||||
+++ make-4.2-new/config/config.sub 2018-11-16 21:11:37.922637742 -0700
|
||||
@@ -1376,7 +1376,7 @@
|
||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
||||
- | -sym* | -kopensolaris* | -plan9* \
|
||||
+ | -sym* | -kopensolaris* | -plan9* | -redox* \
|
||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||
| -aos* | -aros* | -cloudabi* | -sortix* \
|
||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||
diff -ru make-4.2/getopt1.c make-4.2-new/getopt1.c
|
||||
--- make-4.2/getopt1.c 2018-11-16 21:11:15.408796156 -0700
|
||||
+++ make-4.2-new/getopt1.c 2018-11-16 21:11:37.922637742 -0700
|
||||
@@ -48,6 +48,8 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+#define ELIDE_CODE
|
||||
+
|
||||
#ifndef ELIDE_CODE
|
||||
|
||||
|
||||
diff -ru make-4.2/getopt.c make-4.2-new/getopt.c
|
||||
--- make-4.2/getopt.c 2018-11-16 21:11:15.384794143 -0700
|
||||
+++ make-4.2-new/getopt.c 2018-11-16 21:11:37.922637742 -0700
|
||||
@@ -56,6 +56,8 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
+#define ELIDE_CODE
|
||||
+
|
||||
#ifndef ELIDE_CODE
|
||||
|
||||
|
||||
diff -ru make-4.2/glob/fnmatch.c make-4.2-new/glob/fnmatch.c
|
||||
--- make-4.2/glob/fnmatch.c 2018-11-16 21:11:15.384794143 -0700
|
||||
+++ make-4.2-new/glob/fnmatch.c 2018-11-16 21:11:53.311846128 -0700
|
||||
@@ -477,6 +477,7 @@
|
||||
}
|
||||
|
||||
|
||||
+/*
|
||||
int
|
||||
fnmatch (pattern, string, flags)
|
||||
const char *pattern;
|
||||
@@ -485,5 +486,6 @@
|
||||
{
|
||||
return internal_fnmatch (pattern, string, flags & FNM_PERIOD, flags);
|
||||
}
|
||||
+*/
|
||||
|
||||
#endif /* _LIBC or not __GNU_LIBRARY__. */
|
||||
diff -ru make-4.2/glob/glob.c make-4.2-new/glob/glob.c
|
||||
--- make-4.2/glob/glob.c 2018-11-16 21:11:15.384794143 -0700
|
||||
+++ make-4.2-new/glob/glob.c 2018-11-16 21:11:37.926638062 -0700
|
||||
@@ -625,9 +625,9 @@
|
||||
#else
|
||||
const char *home_dir = getenv ("HOME");
|
||||
#endif
|
||||
-# ifdef _AMIGA
|
||||
+# if 1
|
||||
if (home_dir == NULL || home_dir[0] == '\0')
|
||||
- home_dir = "SYS:";
|
||||
+ home_dir = "/home/user";
|
||||
# else
|
||||
# ifdef WINDOWS32
|
||||
if (home_dir == NULL || home_dir[0] == '\0')
|
||||
@@ -717,7 +717,7 @@
|
||||
dirname = newp;
|
||||
}
|
||||
}
|
||||
-# if !defined _AMIGA && !defined WINDOWS32 && !defined VMS
|
||||
+# if 0
|
||||
else
|
||||
{
|
||||
char *end_name = strchr (dirname, '/');
|
||||
diff -ru make-4.2/job.c make-4.2-new/job.c
|
||||
--- make-4.2/job.c 2018-11-16 21:11:15.380793809 -0700
|
||||
+++ make-4.2-new/job.c 2018-11-16 21:11:37.926638062 -0700
|
||||
@@ -1038,7 +1038,7 @@
|
||||
void
|
||||
block_sigs (void)
|
||||
{
|
||||
-#ifdef POSIX
|
||||
+#if 0
|
||||
(void) sigprocmask (SIG_BLOCK, &fatal_signal_set, (sigset_t *) 0);
|
||||
#else
|
||||
# ifdef HAVE_SIGSETMASK
|
||||
@@ -1051,9 +1051,11 @@
|
||||
void
|
||||
unblock_sigs (void)
|
||||
{
|
||||
+/*
|
||||
sigset_t empty;
|
||||
sigemptyset (&empty);
|
||||
sigprocmask (SIG_SETMASK, &empty, (sigset_t *) 0);
|
||||
+*/
|
||||
}
|
||||
#endif
|
||||
|
||||
diff -ru make-4.2/read.c make-4.2-new/read.c
|
||||
--- make-4.2/read.c 2018-11-16 21:11:15.384794143 -0700
|
||||
+++ make-4.2-new/read.c 2018-11-16 21:11:37.926638062 -0700
|
||||
@@ -2937,7 +2937,7 @@
|
||||
free (home_dir);
|
||||
home_dir = getenv ("HOME");
|
||||
}
|
||||
-# if !defined(_AMIGA) && !defined(WINDOWS32)
|
||||
+# if 0
|
||||
if (home_dir == 0 || home_dir[0] == '\0')
|
||||
{
|
||||
char *logname = getlogin ();
|
||||
@@ -2958,7 +2958,7 @@
|
||||
return new;
|
||||
}
|
||||
}
|
||||
-# if !defined(_AMIGA) && !defined(WINDOWS32)
|
||||
+# if 0
|
||||
else
|
||||
{
|
||||
struct passwd *pwent;
|
||||
@ -1,30 +0,0 @@
|
||||
VERSION=4.2.1
|
||||
TAR=https://ftp.gnu.org/gnu/make/make-$VERSION.tar.gz
|
||||
|
||||
function recipe_version {
|
||||
echo "$VERSION"
|
||||
skip=1
|
||||
}
|
||||
|
||||
function recipe_build {
|
||||
export CFLAGS="-DPOSIX -DNO_ARCHIVES -DNO_OUTPUT_SYNC"
|
||||
export LDFLAGS="-static"
|
||||
./configure \
|
||||
--build=${BUILD} \
|
||||
--host=${HOST} \
|
||||
--prefix=/ \
|
||||
--without-guile
|
||||
"$REDOX_MAKE" -j"$($NPROC)"
|
||||
skip=1
|
||||
}
|
||||
|
||||
function recipe_clean {
|
||||
"$REDOX_MAKE" clean
|
||||
skip=1
|
||||
}
|
||||
|
||||
function recipe_stage {
|
||||
dest="$(realpath $1)"
|
||||
"$REDOX_MAKE" DESTDIR="$dest" install
|
||||
skip=1
|
||||
}
|
||||
10
recipes/dev/gnu-make/recipe.toml
Normal file
10
recipes/dev/gnu-make/recipe.toml
Normal file
@ -0,0 +1,10 @@
|
||||
#TODO very basic makefiles are tested to work but needs more testing
|
||||
[source]
|
||||
tar = "http://ftp.gnu.org/gnu/make/make-4.4.tar.gz"
|
||||
patches = [
|
||||
"redox.patch"
|
||||
]
|
||||
|
||||
[build]
|
||||
template = "configure"
|
||||
|
||||
12
recipes/dev/gnu-make/redox.patch
Normal file
12
recipes/dev/gnu-make/redox.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -ruwN make-4.4/src/arscan.c source/src/arscan.c
|
||||
--- make-4.4/src/arscan.c 2022-10-23 16:52:32.000000000 +0200
|
||||
+++ source/src/arscan.c 2024-08-23 18:28:49.206084084 +0200
|
||||
@@ -331,7 +331,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef WINDOWS32
|
||||
-# if !defined (__ANDROID__) && !defined (__BEOS__)
|
||||
+# if 0
|
||||
# include <ar.h>
|
||||
# else
|
||||
/* These platforms don't have <ar.h> but have archives in the same format
|
||||
Loading…
Reference in New Issue
Block a user