view src/fftw.mk @ 4601:dc3eb553f5e9

update UPDATE rule for sourceforge projects with version directories * src/cppunit.mk, src/cunit.mk, src/expat.mk, src/freeimage.mk, src/freetype.mk, src/gnuplot.mk, src/graphicsmagick.mk, src/hunspell.mk, src/id3lib.mk, src/lcms.mk, src/libircclient.mk, src/liblo.mk, src/libmad.mk, src/libmng.mk, src/libmodplug.mk, src/libusb.mk, src/matio.mk, src/pcre.mk, src/pdcurses.mk, src/pfstools.mk, src/plotmm.mk, src/qjson.mk, src/qwt.mk, src/qwtplot3d.mk, src/sdl_pango.mk, src/sox.mk, src/tinyxml.mk, src/xmlwrapp.mk: update UPDATE rule for sourceforge projects with version directories * src/llvm.mk: update use wget not WGE so get uncompressed file)
author John D
date Mon, 29 Jan 2018 11:57:20 -0500
parents faa6a5ea206e
children 88f905a83cb5
line wrap: on
line source

# This file is part of MXE.
# See index.html for further information.

PKG             := fftw
$(PKG)_IGNORE   :=
$(PKG)_VERSION  := 3.3.7
$(PKG)_CHECKSUM := 2ae980a8d44c161ce4a09c6e2d1c79243ecbabb2
$(PKG)_SUBDIR   := fftw-$($(PKG)_VERSION)
$(PKG)_FILE     := fftw-$($(PKG)_VERSION).tar.gz
$(PKG)_URL      := http://www.fftw.org/$($(PKG)_FILE)
$(PKG)_DEPS     :=

$(PKG)_CONFIG_OPTS :=

ifeq ($(MXE_SYSTEM),msvc)
    $(PKG)_HAVE_LONG_DOUBLE := false
else
    $(PKG)_HAVE_LONG_DOUBLE := true
    $(PKG)_CONFIG_OPTS += --with-our-malloc
endif

# some suggested mingw fftw settings from www.fftw.org
ifeq ($(MXE_SYSTEM),mingw)
    $(PKG)_CONFIG_OPTS += \
      --with-combined-threads \
      --with-incoming-stack-boundary=2
endif

define $(PKG)_UPDATE
    $(WGET) -q -O- 'http://www.fftw.org/download.html' | \
    $(SED) -n 's,.*fftw-\([0-9][^>]*\)\.tar.*,\1,p' | \
    grep -v alpha | \
    grep -v beta | \
    head -1
endef

define $(PKG)_BUILD
    if [ $(MXE_SYSTEM) = msvc ]; then \
        $(SED) -i -e 's,-lm\>,,' '$(1)/fftw.pc.in'; \
    fi

    # default is double
    cd '$(1)' && ./configure \
        F77=$(MXE_F77) \
        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
        $(ENABLE_SHARED_OR_STATIC) \
        --prefix='$(HOST_PREFIX)' \
        --enable-threads \
        --enable-sse2 \
        $($(PKG)_CONFIG_OPTS) \
        && $(CONFIGURE_POST_HOOK)
    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS)
    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS)  DESTDIR='$(3)'

    if $($(PKG)_HAVE_LONG_DOUBLE); then \
        cd '$(1)' && ./configure \
            F77=$(MXE_F77) \
            $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
            $(ENABLE_SHARED_OR_STATIC) \
            --prefix='$(HOST_PREFIX)' \
            --enable-threads \
            --enable-sse2 \
            $($(PKG)_CONFIG_OPTS) \
            --enable-long-double && $(CONFIGURE_POST_HOOK) ; \
        $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS) ; \
        $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)' ; \
    fi

    cd '$(1)' && ./configure \
        F77=$(MXE_F77) \
        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
        $(ENABLE_SHARED_OR_STATIC) \
        --prefix='$(HOST_PREFIX)' \
        --enable-threads \
        --enable-sse2 \
        $($(PKG)_CONFIG_OPTS) \
        --enable-float && $(CONFIGURE_POST_HOOK)
    $(MAKE) -C '$(1)' -j '$(JOBS)' $(MXE_DISABLE_PROGS) 
    $(MAKE) -C '$(1)' -j 1 install $(MXE_DISABLE_PROGS) $(MXE_DISABLE_DOCS) DESTDIR='$(3)'
endef