The configure script uses AC_TRY_RUN to detect if it can use the %llu format
string for printing the file size, which doesn't work when cross compiling.
We unfortunately cannot AUTORECONF the package, so instead patch configure
to force it on if we know we support it.
E.G.:
dd if=/dev/zero of=/home/ftp/file bs=1M seek=8000 count=1
1+0 records in
1+0 records out
total 1032
-rw-r--r-- 1 root root
8389656576 Jan 1 00:00 file
ncftp / > ls -l
-rw-r--r-- 0 0
8389656576 Jan 1 00:00 file
VS:
ncftp / > ls -l
-rw-r--r-- 0 0
4094689280 Jan 1 00:00 file
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
PROFTPD_CONF_OPT += --with-modules=mod_rewrite
endif
+ifeq ($(BR2_LARGEFILE),y)
+# configure script doesn't handle detection of %llu format string
+# support for printing the file size when cross compiling, breaking
+# access for large files.
+# We unfortunately cannot AUTORECONF the package, so instead force it
+# on if we know we support it
+define PROFTPD_USE_LLU
+ $(SED) 's/HAVE_LU/HAVE_LLU/' $(@D)/configure
+endef
+PROFTPD_PRE_CONFIGURE_HOOKS += PROFTPD_USE_LLU
+endif
+
define PROFTPD_MAKENAMES
$(MAKE1) CC="$(HOSTCC)" CFLAGS="" LDFLAGS="" -C $(@D)/lib/libcap _makenames
endef