diff mbox series

[2/3] package/brltty: use gcc instead of ld to link shared objects

Message ID 20171230104804.16489-2-mlang@blind.guru
State Accepted
Headers show
Series [1/3] package/brltty: add missing dependency on host-pkgconf | expand

Commit Message

Mario Lang Dec. 30, 2017, 10:48 a.m. UTC
Fixes:
  http://autobuild.buildroot.net/results/2419741c43dea0f91859c19167c8d65cb54e1470
  http://autobuild.buildroot.net/results/4b83e53c718520661dc99cde2121f69ce3fd08d7
Signed-off-by: Mario Lang <mlang@blind.guru>
---
 .../0003-Remove-MKOBJ-in-favour-of-MKMOD.patch     | 63 ++++++++++++++++++++++
 1 file changed, 63 insertions(+)
 create mode 100644 package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch

Comments

Yann E. MORIN Dec. 30, 2017, 1:07 p.m. UTC | #1
Mario, All,

On 2017-12-30 11:48 +0100, Mario Lang spake thusly:
> Fixes:
>   http://autobuild.buildroot.net/results/2419741c43dea0f91859c19167c8d65cb54e1470
>   http://autobuild.buildroot.net/results/4b83e53c718520661dc99cde2121f69ce3fd08d7
> Signed-off-by: Mario Lang <mlang@blind.guru>
> ---
>  .../0003-Remove-MKOBJ-in-favour-of-MKMOD.patch     | 63 ++++++++++++++++++++++
>  1 file changed, 63 insertions(+)
>  create mode 100644 package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch
> 
> diff --git a/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch b/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch
> new file mode 100644
> index 0000000000..d836652850
> --- /dev/null
> +++ b/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch
> @@ -0,0 +1,63 @@
> +From b3b0e47015e9162f519730789976157c7cc38178 Mon Sep 17 00:00:00 2001
> +From: Mario Lang <mlang@delysid.org>
> +Date: Fri, 29 Dec 2017 14:52:37 +0100
> +Subject: [PATCH] Remove MKOBJ in favour of MKMOD. (ml)
> +
> +Calling ld directly can lead to problems when cross-compiling.

Since this is a backport of an upstream commit, we like to have a
pointer to the upstream commit:

    https://github.com/brltty/brltty/commit/4c8aba42e246b96d10ffcbd57653682375499e46

Also, since you are patching configure.ac, you must autoreconf:

    BRLTTY_AUTORECONF = YES

However, as a backport for Buildroot, I would just keep the diff about
Drivers/Braille/EuroBraille/Makefile.in and drop the rest of the diff,
which would no longer require running autoreconf.

Regards,
Yann E. MORIN.

> +Signed-off-by: Mario Lang <mlang@blind.guru>
> +---
> + Drivers/Braille/EuroBraille/Makefile.in |  2 +-
> + config.mk.in                            |  1 -
> + configure.ac                            | 10 ----------
> + 3 files changed, 1 insertion(+), 12 deletions(-)
> +
> +diff --git a/Drivers/Braille/EuroBraille/Makefile.in b/Drivers/Braille/EuroBraille/Makefile.in
> +index 0500aa70e..ce8a3d1a4 100644
> +--- a/Drivers/Braille/EuroBraille/Makefile.in
> ++++ b/Drivers/Braille/EuroBraille/Makefile.in
> +@@ -28,7 +28,7 @@ SRC_FILES = eu_braille.c eu_clio.c eu_esysiris.c
> + OBJ_FILES = $(SRC_FILES:.c=.$O)
> + 
> + braille.$O: $(OBJ_FILES)
> +-	$(MKOBJ)  $@ $(OBJ_FILES)
> ++	$(MKMOD)  $@ $(OBJ_FILES)
> + 
> + %.$O: $(SRC_DIR)/%.c
> + 	$(CC) $(BRL_CFLAGS) -o $@ -c $<
> +diff --git a/config.mk.in b/config.mk.in
> +index 686f547e6..8d1da79b4 100644
> +--- a/config.mk.in
> ++++ b/config.mk.in
> +@@ -250,7 +250,6 @@ LD = @LD@
> + LDFLAGS = @LDFLAGS@
> + LDLIBS = $(ICU_LIBS) $(POLKIT_LIBS) $(SYSTEM_LIBS) @LIBS@
> + 
> +-MKOBJ = @MKOBJ@
> + MKMOD = @MKMOD@
> + MKLIB = @MKLIB@
> + CONFLIBDIR = @CONFLIBDIR@
> +diff --git a/configure.ac b/configure.ac
> +index 07119dd9f..ad80b8d60 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -428,16 +428,6 @@ AC_SUBST([can_make_manual])
> + test "${DOXYGEN}" = "false" && can_make_BrlAPIref=no || can_make_BrlAPIref=yes
> + AC_SUBST([can_make_BrlAPIref])
> + 
> +-AC_CACHE_CHECK([for make relocatable object command], [brltty_cv_prog_mkobj], [dnl
> +-case "${host_os}"
> +-in
> +-   *)
> +-      brltty_cv_prog_mkobj="\$(LD) -r -o"
> +-      ;;
> +-esac])
> +-MKOBJ="${brltty_cv_prog_mkobj}"
> +-AC_SUBST([MKOBJ])
> +-
> + AC_CACHE_CHECK([for loadable module creation command], [brltty_cv_prog_mkmod], [dnl
> + case "${host_os}"
> + in
> +-- 
> +2.15.0
> +
> -- 
> 2.15.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Mario Lang Dec. 30, 2017, 2:32 p.m. UTC | #2
"Yann E. MORIN" <yann.morin.1998@free.fr> writes:

> Mario, All,
>
> On 2017-12-30 11:48 +0100, Mario Lang spake thusly:
>> Fixes:
>>   http://autobuild.buildroot.net/results/2419741c43dea0f91859c19167c8d65cb54e1470
>>   http://autobuild.buildroot.net/results/4b83e53c718520661dc99cde2121f69ce3fd08d7
>> Signed-off-by: Mario Lang <mlang@blind.guru>
>> ---
>>  .../0003-Remove-MKOBJ-in-favour-of-MKMOD.patch     | 63 ++++++++++++++++++++++
>>  1 file changed, 63 insertions(+)
>>  create mode 100644 package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch
>> 
>> diff --git a/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch b/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch
>> new file mode 100644
>> index 0000000000..d836652850
>> --- /dev/null
>> +++ b/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch
>> @@ -0,0 +1,63 @@
>> +From b3b0e47015e9162f519730789976157c7cc38178 Mon Sep 17 00:00:00 2001
>> +From: Mario Lang <mlang@delysid.org>
>> +Date: Fri, 29 Dec 2017 14:52:37 +0100
>> +Subject: [PATCH] Remove MKOBJ in favour of MKMOD. (ml)
>> +
>> +Calling ld directly can lead to problems when cross-compiling.
>
> Since this is a backport of an upstream commit, we like to have a
> pointer to the upstream commit:
>
>     https://github.com/brltty/brltty/commit/4c8aba42e246b96d10ffcbd57653682375499e46

OK, sorry.  Was not aware of that.  Can you add this to the commit log,
or should I resend the patch?

> Also, since you are patching configure.ac, you must autoreconf:
>
>     BRLTTY_AUTORECONF = YES
>
> However, as a backport for Buildroot, I would just keep the diff about
> Drivers/Braille/EuroBraille/Makefile.in and drop the rest of the diff,
> which would no longer require running autoreconf.

We already do the equivalent of autoreconf.  BRLTTY_AUTORECONF = YES
does not work with BRLTTY, as BRLTTY is a autoconf-only package.  Please
see the comment added by Thomas in brltty.mk:

# Autoreconf is needed because we're patching configure.ac in
# 0002-Check-for-ioperm-to-make-sure-the-platform-supports-.patch. However,
# a plain autoreconf doesn't work, because this package is only
# autoconf-based.
Yann E. MORIN Dec. 30, 2017, 2:43 p.m. UTC | #3
Mario, All,

On 2017-12-30 15:32 +0100, Mario Lang spake thusly:
> "Yann E. MORIN" <yann.morin.1998@free.fr> writes:
> > Since this is a backport of an upstream commit, we like to have a
> > pointer to the upstream commit:
> >     https://github.com/brltty/brltty/commit/4c8aba42e246b96d10ffcbd57653682375499e46
> OK, sorry.  Was not aware of that.  Can you add this to the commit log,
> or should I resend the patch?
[--SNIP--]
> > Also, since you are patching configure.ac, you must autoreconf:
> >     BRLTTY_AUTORECONF = YES
[--SNIP--]
> We already do the equivalent of autoreconf.  BRLTTY_AUTORECONF = YES
> does not work with BRLTTY, as BRLTTY is a autoconf-only package.  Please
> see the comment added by Thomas in brltty.mk:

Ah, I did not have an up-to-date master branch. I pulled and now I can
see it, indeed.

So, since we already need to autoconf, we can keep your patch as-is.

I guess whoever applies your patch can add the URL to the patch commit
log, yes, so I would say no need to resend.

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.
Thomas Petazzoni Dec. 30, 2017, 5:27 p.m. UTC | #4
Hello,

On Sat, 30 Dec 2017 11:48:03 +0100, Mario Lang wrote:
> Fixes:
>   http://autobuild.buildroot.net/results/2419741c43dea0f91859c19167c8d65cb54e1470
>   http://autobuild.buildroot.net/results/4b83e53c718520661dc99cde2121f69ce3fd08d7
> Signed-off-by: Mario Lang <mlang@blind.guru>
> ---
>  .../0003-Remove-MKOBJ-in-favour-of-MKMOD.patch     | 63 ++++++++++++++++++++++
>  1 file changed, 63 insertions(+)
>  create mode 100644 package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch

Applied to master after adding a reference to the upstream commit, as
suggested by Yann. Thanks!

Thomas
diff mbox series

Patch

diff --git a/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch b/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch
new file mode 100644
index 0000000000..d836652850
--- /dev/null
+++ b/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch
@@ -0,0 +1,63 @@ 
+From b3b0e47015e9162f519730789976157c7cc38178 Mon Sep 17 00:00:00 2001
+From: Mario Lang <mlang@delysid.org>
+Date: Fri, 29 Dec 2017 14:52:37 +0100
+Subject: [PATCH] Remove MKOBJ in favour of MKMOD. (ml)
+
+Calling ld directly can lead to problems when cross-compiling.
+
+Signed-off-by: Mario Lang <mlang@blind.guru>
+---
+ Drivers/Braille/EuroBraille/Makefile.in |  2 +-
+ config.mk.in                            |  1 -
+ configure.ac                            | 10 ----------
+ 3 files changed, 1 insertion(+), 12 deletions(-)
+
+diff --git a/Drivers/Braille/EuroBraille/Makefile.in b/Drivers/Braille/EuroBraille/Makefile.in
+index 0500aa70e..ce8a3d1a4 100644
+--- a/Drivers/Braille/EuroBraille/Makefile.in
++++ b/Drivers/Braille/EuroBraille/Makefile.in
+@@ -28,7 +28,7 @@ SRC_FILES = eu_braille.c eu_clio.c eu_esysiris.c
+ OBJ_FILES = $(SRC_FILES:.c=.$O)
+ 
+ braille.$O: $(OBJ_FILES)
+-	$(MKOBJ)  $@ $(OBJ_FILES)
++	$(MKMOD)  $@ $(OBJ_FILES)
+ 
+ %.$O: $(SRC_DIR)/%.c
+ 	$(CC) $(BRL_CFLAGS) -o $@ -c $<
+diff --git a/config.mk.in b/config.mk.in
+index 686f547e6..8d1da79b4 100644
+--- a/config.mk.in
++++ b/config.mk.in
+@@ -250,7 +250,6 @@ LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LDLIBS = $(ICU_LIBS) $(POLKIT_LIBS) $(SYSTEM_LIBS) @LIBS@
+ 
+-MKOBJ = @MKOBJ@
+ MKMOD = @MKMOD@
+ MKLIB = @MKLIB@
+ CONFLIBDIR = @CONFLIBDIR@
+diff --git a/configure.ac b/configure.ac
+index 07119dd9f..ad80b8d60 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -428,16 +428,6 @@ AC_SUBST([can_make_manual])
+ test "${DOXYGEN}" = "false" && can_make_BrlAPIref=no || can_make_BrlAPIref=yes
+ AC_SUBST([can_make_BrlAPIref])
+ 
+-AC_CACHE_CHECK([for make relocatable object command], [brltty_cv_prog_mkobj], [dnl
+-case "${host_os}"
+-in
+-   *)
+-      brltty_cv_prog_mkobj="\$(LD) -r -o"
+-      ;;
+-esac])
+-MKOBJ="${brltty_cv_prog_mkobj}"
+-AC_SUBST([MKOBJ])
+-
+ AC_CACHE_CHECK([for loadable module creation command], [brltty_cv_prog_mkmod], [dnl
+ case "${host_os}"
+ in
+-- 
+2.15.0
+