Re: [PATCH] build: Use pkg-config to find Freetype

2018-02-10 Thread Colin Watson
On Tue, Jan 30, 2018 at 09:57:15PM +, Colin Watson wrote:
> Thanks for your other comments; I'll follow up in a moment with
> corrected patches.

Has anyone had a chance to review these?  I'd be happy to deal with
actually committing them if they look OK.

-- 
Colin Watson   [cjwat...@ubuntu.com]

___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] build: Use pkg-config to find Freetype

2018-01-30 Thread Colin Watson
On Mon, Jan 29, 2018 at 06:35:11PM +0100, Daniel Kiper wrote:
> On Thu, Jan 25, 2018 at 12:23:58PM +, Colin Watson wrote:
> > @@ -1542,8 +1539,6 @@ else
> >  enable_grub_mkfont=no
> >  fi
> >  AC_SUBST([enable_grub_mkfont])
> > -AC_SUBST([freetype_cflags])
> > -AC_SUBST([freetype_libs])
> 
> Could you explain why do you drop this...

PKG_CHECK_MODULES does this (and is documented to do so), so there's no
need to do it manually.  Same for BUILD_FREETYPE_{CFLAGS,LIBS}.

Thanks for your other comments; I'll follow up in a moment with
corrected patches.

-- 
Colin Watson   [cjwat...@ubuntu.com]

___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] build: Use pkg-config to find Freetype

2018-01-29 Thread Daniel Kiper
On Thu, Jan 25, 2018 at 12:23:58PM +, Colin Watson wrote:
> pkg-config is apparently preferred over freetype-config these days (see
> the BUGS section of freetype-config(1)).  pkg-config support was added
> to Freetype in version 2.1.5, which was released in 2003, so it should

OK but please add somewhere into INSTALL that starting from this patch
Freetype 2.1.5 and newer are only supported versions.

> comfortably be available everywhere by now.
>
> Fixes Debian bug #887721.
>
> Reported-by: Hugh McMaster 
> Signed-off-by: Colin Watson 
> ---
>  INSTALL   |  9 ---
>  Makefile.am   |  6 ++---
>  Makefile.util.def |  4 +--
>  configure.ac  | 74 
> +++
>  4 files changed, 41 insertions(+), 52 deletions(-)
>
> diff --git a/INSTALL b/INSTALL
> index f3c20edc8..899b9cac5 100644
> --- a/INSTALL
> +++ b/INSTALL
> @@ -38,6 +38,7 @@ configuring the GRUB.
>  * GNU binutils 2.9.1.0.23 or later
>  * Flex 2.5.35 or later
>  * Other standard GNU/Unix tools
> +* pkg-config

Please put this after Flex.

>  * a libc with large file support (e.g. glibc 2.1 or later)
>
>  On GNU/Linux, you also need:
> @@ -158,8 +159,8 @@ For this example the configure line might look like (more 
> details below)
>  (some options are optional and included here for completeness but some rarely
>  used options are omitted):
>
> -./configure BUILD_CC=gcc BUILD_FREETYPE=freetype-config 
> --host=amd64-linux-gnu
> -CC=amd64-linux-gnu-gcc CFLAGS="-g -O2" 
> FREETYPE=amd64-linux-gnu-freetype-config
> +./configure BUILD_CC=gcc BUILD_PKG_CONFIG=pkg-config --host=amd64-linux-gnu
> +CC=amd64-linux-gnu-gcc CFLAGS="-g -O2" PKG_CONFIG=amd64-linux-gnu-pkg-config
>  --target=arm --with-platform=uboot TARGET_CC=arm-elf-gcc
>  TARGET_CFLAGS="-Os -march=armv6" TARGET_CCASFLAGS="-march=armv6"
>  TARGET_OBJCOPY="arm-elf-objcopy" TARGET_STRIP="arm-elf-strip"
> @@ -176,7 +177,7 @@ corresponding platform are not needed for the platform in 
> question.
>  2. BUILD_CFLAGS= for C options for build.
>  3. BUILD_CPPFLAGS= for C preprocessor options for build.
>  4. BUILD_LDFLAGS= for linker options for build.
> -5. BUILD_FREETYPE= for freetype-config for build (optional).
> +5. BUILD_PKG_CONFIG= for pkg-config for build (optional).
>
>- For host
>  1. --host= to autoconf name of host.
> @@ -184,7 +185,7 @@ corresponding platform are not needed for the platform in 
> question.
>  3. HOST_CFLAGS= for C options for host.
>  4. HOST_CPPFLAGS= for C preprocessor options for host.
>  5. HOST_LDFLAGS= for linker options for host.
> -6. FREETYPE= for freetype-config for host (optional).
> +6. PKG_CONFIG= for pkg-config for host (optional).
>  7. Libdevmapper if any must be in standard linker folders (-ldevmapper) 
> (optional).
>  8. Libfuse if any must be in standard linker folders (-lfuse) (optional).
>  9. Libzfs if any must be in standard linker folders (-lzfs) (optional).
> diff --git a/Makefile.am b/Makefile.am
> index 7795baeb6..da4e65bcc 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -71,7 +71,7 @@ endif
>  starfield_theme_files = $(srcdir)/themes/starfield/blob_w.png 
> $(srcdir)/themes/starfield/boot_menu_c.png 
> $(srcdir)/themes/starfield/boot_menu_e.png 
> $(srcdir)/themes/starfield/boot_menu_ne.png 
> $(srcdir)/themes/starfield/boot_menu_n.png 
> $(srcdir)/themes/starfield/boot_menu_nw.png 
> $(srcdir)/themes/starfield/boot_menu_se.png 
> $(srcdir)/themes/starfield/boot_menu_s.png 
> $(srcdir)/themes/starfield/boot_menu_sw.png 
> $(srcdir)/themes/starfield/boot_menu_w.png 
> $(srcdir)/themes/starfield/slider_c.png 
> $(srcdir)/themes/starfield/slider_n.png 
> $(srcdir)/themes/starfield/slider_s.png 
> $(srcdir)/themes/starfield/starfield.png 
> $(srcdir)/themes/starfield/terminal_box_c.png 
> $(srcdir)/themes/starfield/terminal_box_e.png 
> $(srcdir)/themes/starfield/terminal_box_ne.png 
> $(srcdir)/themes/starfield/terminal_box_n.png 
> $(srcdir)/themes/starfield/terminal_box_nw.png 
> $(srcdir)/themes/starfield/terminal_box_se.png 
> $(srcdir)/themes/starfield/terminal_box_s.png 
> $(srcdir)/themes/starfield/terminal_box_sw.png 
> $(srcdir)/themes/starfield/terminal_box_w.png 
> $(srcdir)/themes/starfield/theme.txt $(srcdir)/themes/starfield/README 
> $(srcdir)/themes/starfield/COPYING.CC-BY-SA-3.0
>
>  build-grub-mkfont$(BUILD_EXEEXT): util/grub-mkfont.c grub-core/unidata.c 
> grub-core/kern/emu/misc.c util/misc.c
> - $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) 
> $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 
> -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-mkfont\" $^ 
> $(build_freetype_cflags) $(build_freetype_libs)
> + $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) 
> $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 
> -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-mkfont\" $^ 
> 

[PATCH] build: Use pkg-config to find Freetype

2018-01-25 Thread Colin Watson
pkg-config is apparently preferred over freetype-config these days (see
the BUGS section of freetype-config(1)).  pkg-config support was added
to Freetype in version 2.1.5, which was released in 2003, so it should
comfortably be available everywhere by now.

Fixes Debian bug #887721.

Reported-by: Hugh McMaster 
Signed-off-by: Colin Watson 
---
 INSTALL   |  9 ---
 Makefile.am   |  6 ++---
 Makefile.util.def |  4 +--
 configure.ac  | 74 +++
 4 files changed, 41 insertions(+), 52 deletions(-)

diff --git a/INSTALL b/INSTALL
index f3c20edc8..899b9cac5 100644
--- a/INSTALL
+++ b/INSTALL
@@ -38,6 +38,7 @@ configuring the GRUB.
 * GNU binutils 2.9.1.0.23 or later
 * Flex 2.5.35 or later
 * Other standard GNU/Unix tools
+* pkg-config
 * a libc with large file support (e.g. glibc 2.1 or later)
 
 On GNU/Linux, you also need:
@@ -158,8 +159,8 @@ For this example the configure line might look like (more 
details below)
 (some options are optional and included here for completeness but some rarely
 used options are omitted):
 
-./configure BUILD_CC=gcc BUILD_FREETYPE=freetype-config --host=amd64-linux-gnu
-CC=amd64-linux-gnu-gcc CFLAGS="-g -O2" FREETYPE=amd64-linux-gnu-freetype-config
+./configure BUILD_CC=gcc BUILD_PKG_CONFIG=pkg-config --host=amd64-linux-gnu
+CC=amd64-linux-gnu-gcc CFLAGS="-g -O2" PKG_CONFIG=amd64-linux-gnu-pkg-config
 --target=arm --with-platform=uboot TARGET_CC=arm-elf-gcc
 TARGET_CFLAGS="-Os -march=armv6" TARGET_CCASFLAGS="-march=armv6"
 TARGET_OBJCOPY="arm-elf-objcopy" TARGET_STRIP="arm-elf-strip"
@@ -176,7 +177,7 @@ corresponding platform are not needed for the platform in 
question.
 2. BUILD_CFLAGS= for C options for build.
 3. BUILD_CPPFLAGS= for C preprocessor options for build.
 4. BUILD_LDFLAGS= for linker options for build.
-5. BUILD_FREETYPE= for freetype-config for build (optional).
+5. BUILD_PKG_CONFIG= for pkg-config for build (optional).
 
   - For host
 1. --host= to autoconf name of host.
@@ -184,7 +185,7 @@ corresponding platform are not needed for the platform in 
question.
 3. HOST_CFLAGS= for C options for host.
 4. HOST_CPPFLAGS= for C preprocessor options for host.
 5. HOST_LDFLAGS= for linker options for host.
-6. FREETYPE= for freetype-config for host (optional).
+6. PKG_CONFIG= for pkg-config for host (optional).
 7. Libdevmapper if any must be in standard linker folders (-ldevmapper) 
(optional).
 8. Libfuse if any must be in standard linker folders (-lfuse) (optional).
 9. Libzfs if any must be in standard linker folders (-lzfs) (optional).
diff --git a/Makefile.am b/Makefile.am
index 7795baeb6..da4e65bcc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -71,7 +71,7 @@ endif
 starfield_theme_files = $(srcdir)/themes/starfield/blob_w.png 
$(srcdir)/themes/starfield/boot_menu_c.png 
$(srcdir)/themes/starfield/boot_menu_e.png 
$(srcdir)/themes/starfield/boot_menu_ne.png 
$(srcdir)/themes/starfield/boot_menu_n.png 
$(srcdir)/themes/starfield/boot_menu_nw.png 
$(srcdir)/themes/starfield/boot_menu_se.png 
$(srcdir)/themes/starfield/boot_menu_s.png 
$(srcdir)/themes/starfield/boot_menu_sw.png 
$(srcdir)/themes/starfield/boot_menu_w.png 
$(srcdir)/themes/starfield/slider_c.png $(srcdir)/themes/starfield/slider_n.png 
$(srcdir)/themes/starfield/slider_s.png 
$(srcdir)/themes/starfield/starfield.png 
$(srcdir)/themes/starfield/terminal_box_c.png 
$(srcdir)/themes/starfield/terminal_box_e.png 
$(srcdir)/themes/starfield/terminal_box_ne.png 
$(srcdir)/themes/starfield/terminal_box_n.png 
$(srcdir)/themes/starfield/terminal_box_nw.png 
$(srcdir)/themes/starfield/terminal_box_se.png 
$(srcdir)/themes/starfield/terminal_box_s.png 
$(srcdir)/themes/starfield/terminal_box_sw.png 
$(srcdir)/themes/starfield/terminal_box_w.png 
$(srcdir)/themes/starfield/theme.txt $(srcdir)/themes/starfield/README 
$(srcdir)/themes/starfield/COPYING.CC-BY-SA-3.0
 
 build-grub-mkfont$(BUILD_EXEEXT): util/grub-mkfont.c grub-core/unidata.c 
grub-core/kern/emu/misc.c util/misc.c
-   $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) 
$(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 
-DGRUB_BUILD_PROGRAM_NAME=\"build-grub-mkfont\" $^ $(build_freetype_cflags) 
$(build_freetype_libs)
+   $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) 
$(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 
-DGRUB_BUILD_PROGRAM_NAME=\"build-grub-mkfont\" $^ $(build_freetype_CFLAGS) 
$(build_freetype_LIBS)
 CLEANFILES += build-grub-mkfont$(BUILD_EXEEXT)
 
 garbage-gen$(BUILD_EXEEXT): util/garbage-gen.c
@@ -80,11 +80,11 @@ CLEANFILES += garbage-gen$(BUILD_EXEEXT)
 EXTRA_DIST += util/garbage-gen.c
 
 build-grub-gen-asciih$(BUILD_EXEEXT): util/grub-gen-asciih.c
-   $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) 
$(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1