# Coreutils-&coreutils-version;

## Installation of Coreutils

The following command updates the timestamps on the uname and hostname man pages so that the Makefile does not attempt to regenerate them:

    touch man/uname.1 man/hostname.1

Configure can not properly determine how to get free space when cross-compiling - as a result, the `df` program will not be built. Add the following entries to `config.cache` to correct this, and fix various cross-compiling issues:

    cat > config.cache << EOF
    fu_cv_sys_stat_statfs2_bsize=yes
    gl_cv_func_working_mkstemp=yes
    EOF

Prepare Coreutils for compilation:

    ./configure --prefix=/tools \
        --build=${CLFS_HOST} --host=${CLFS_TARGET} \
        --enable-install-program=hostname --cache-file=config.cache

## The meaning of the new configure option:

`--enable-install-program=hostname`

- Tells Coreutils to install `hostname`, which is needed for the Perl testsuite.

Coreutils does not build make-prime-list properly and the build host may not be able to execute the target binary. Build it using the host compiler so it can be ran for the generation of data required for the build.

    cp -v Makefile{,.orig}
    sed '/src_make_prime_list/d' Makefile.orig > Makefile
    depbase=`echo src/make-prime-list.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
        gcc -std=gnu99  -I. -I./lib  -Ilib -I./lib -Isrc -I./src  \
        -fdiagnostics-show-option -funit-at-a-time -g -O2 -MT \
        src/make-prime-list.o -MD -MP -MF $depbase.Tpo -c -o src/make-prime-list.o \
        src/make-prime-list.c &&
    mv -f $depbase.Tpo $depbase.Po
    gcc -std=gnu99 -fdiagnostics-show-option -funit-at-a-time -g -O2 \
        -Wl,--as-needed  -o src/make-prime-list src/make-prime-list.o

Remove the building of the hostname man page as it is affected by the previous commands.

    cp -v Makefile{,.bak}
    sed -e '/hostname.1/d' Makefile.bak > Makefile

Compile the package:

    make

Install the package:

    make install

Details on this package are located in contents-coreutils