freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [freetype2] master 576403f 1/2: [builds] Relocate `FTMODULE_H'.


From: Jan Alexander Steffens
Subject: Re: [freetype2] master 576403f 1/2: [builds] Relocate `FTMODULE_H'.
Date: Fri, 8 Jan 2021 12:18:32 +0100

Hi,

My latest nightly failed to install (after make). It does not use a
separate builddir.

Log from `make install`:

rm -rf /build/freetype2-git/pkg/freetype2-git/usr/include/freetype2
rm -f /build/freetype2-git/pkg/freetype2-git/usr/include/ft2build.h
/usr/bin/mkdir -p /build/freetype2-git/pkg/freetype2-git/usr/lib
                        \

/build/freetype2-git/pkg/freetype2-git/usr/lib/pkgconfig
      \

/build/freetype2-git/pkg/freetype2-git/usr/include/freetype2/freetype/config
\

/build/freetype2-git/pkg/freetype2-git/usr/share/aclocal
./builds/unix/libtool --mode=install /usr/bin/install -c
              \

/build/freetype2-git/src/freetype2/objs/libfreetype.la
/build/freetype2-git/pkg/freetype2-git/usr/lib
libtool: install: /usr/bin/install -c
/build/freetype2-git/src/freetype2/objs/.libs/libfreetype.so.6.17.4
/build/freetype2-git/pkg/freetype2-git/usr/lib/libfreetype.so.6.17.4
libtool: install: (cd /build/freetype2-git/pkg/freetype2-git/usr/lib
&& { ln -s -f libfreetype.so.6.17.4 libfreetype.so.6 || { rm -f
libfreetype.so.6 && ln -s libfreetype.so.6.17.4 libfreetype.so.6; };
})
libtool: install: (cd /build/freetype2-git/pkg/freetype2-git/usr/lib
&& { ln -s -f libfreetype.so.6.17.4 libfreetype.so || { rm -f
libfreetype.so && ln -s libfreetype.so.6.17.4 libfreetype.so; }; })
libtool: install: /usr/bin/install -c
/build/freetype2-git/src/freetype2/objs/.libs/libfreetype.lai
/build/freetype2-git/pkg/freetype2-git/usr/lib/libfreetype.la
libtool: warning: remember to run 'libtool --finish /usr/lib'
for P in /build/freetype2-git/src/freetype2/include/freetype/freetype.h
/build/freetype2-git/src/freetype2/include/freetype/ftadvanc.h
/build/freetype2-git/src/freetype2/include/freetype/ftbbox.h
/build/freetype2-git/src/freetype2/includ>
          /usr/bin/install -c -m 644                                    \
            $P 
/build/freetype2-git/pkg/freetype2-git/usr/include/freetype2/freetype
; \
        done
for P in /build/freetype2-git/src/freetype2/include/freetype/config/ftconfig.h
/build/freetype2-git/src/freetype2/include/freetype/config/ftheader.h
/build/freetype2-git/src/freetype2/include/freetype/config/ftmodule.h
/build/freetype2-g>
          /usr/bin/install -c -m 644                                           \
            $P 
/build/freetype2-git/pkg/freetype2-git/usr/include/freetype2/freetype/config
; \
        done
/usr/bin/install -c -m 644
/build/freetype2-git/src/freetype2/include/ft2build.h
\
          
/build/freetype2-git/pkg/freetype2-git/usr/include/freetype2/ft2build.h
/usr/bin/install -c -m 644 ./builds/unix/ftconfig.h                        \
          
/build/freetype2-git/pkg/freetype2-git/usr/include/freetype2/freetype/config/ftconfig.h
/usr/bin/install -c -m 644
/build/freetype2-git/src/freetype2/objs/ftmodule.h
     \
          
/build/freetype2-git/pkg/freetype2-git/usr/include/freetype2/freetype/config/ftmodule.h
/usr/bin/install: cannot stat
'/build/freetype2-git/src/freetype2/objs/ftmodule.h': No such file or
directory
make: *** [/build/freetype2-git/src/freetype2/builds/unix/install.mk:45:
install] Error 1

On Fri, Jan 8, 2021 at 7:24 AM Werner LEMBERG <wl@gnu.org> wrote:
>
>
> Alexei,
>
>
> > +     * builds/toplevel.mk: Place `FTMODULE_H' in include/.
>
> Have you tested this commit on a Unix box with a build where 'srcdir'
> != 'builddir', and where 'srcdir' is read-only?  My gut feeling says
> that your commit is not correct.
>
> We have the following rules, which I consider the right way.
>
> * Files that can be configured by the user should be read first from
>   `builddir`, overriding the locations in `srcdir` (examples:
>   `modules.cfg`, `ftoption.h`).
>
> * Files that are auto-generated at configure time must always be
>   placed into `builddir` (example: `config.mk`).
>
> I want that this scheme works for *all* build systems (i.e., autoconf,
> GNU make, meson, cmake) – well, I guess that VC++ is different...
>
> In other words, this change
>
>   -INCLUDES := $(subst /,$(COMPILER_SEP),$(OBJ_DIR) \
>   -                                      $(DEVEL_DIR) \
>   +INCLUDES := $(subst /,$(COMPILER_SEP),$(DEVEL_DIR) \
>                                          $(BUILD_DIR) \
>                                          $(TOP_DIR)/include)
>
> looks very suspicious :-)
>
>
>     Werner



reply via email to

[Prev in Thread] Current Thread [Next in Thread]