Forum Home
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular

    [Dev] Documenting Feathercoin Specific Software settings - Part 18

    Technical Development
    1
    53
    8541
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • wrapper
      wrapper Moderators last edited by

      Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

      Added depends folder from bitcoin’s tree to build all dependencies. :: commit

      Auto build

      https://github.com/FeatherCoin/Feathercoin/commit/e69efc079f1055dc5b12be5d41b82f518cd06a5a

      depends/funcs.mk

       +define int_vars
       +#Set defaults for vars which may be overridden per-package
       +$(1)_cc=$($($(1)_type)_CC)
       +$(1)_cxx=$($($(1)_type)_CXX)
       +$(1)_objc=$($($(1)_type)_OBJC)
       +$(1)_objcxx=$($($(1)_type)_OBJCXX)
       +$(1)_ar=$($($(1)_type)_AR)
       +$(1)_ranlib=$($($(1)_type)_RANLIB)
       +$(1)_libtool=$($($(1)_type)_LIBTOOL)
       +$(1)_nm=$($($(1)_type)_NM)
       +$(1)_cflags=$($($(1)_type)_CFLAGS) $($($(1)_type)_$(release_type)_CFLAGS)
       +$(1)_cxxflags=$($($(1)_type)_CXXFLAGS) $($($(1)_type)_$(release_type)_CXXFLAGS)
       +$(1)_ldflags=$($($(1)_type)_LDFLAGS) $($($(1)_type)_$(release_type)_LDFLAGS) -L$($($(1)_type)_prefix)/lib
       +$(1)_cppflags=$($($(1)_type)_CPPFLAGS) $($($(1)_type)_$(release_type)_CPPFLAGS) -I$($($(1)_type)_prefix)/include
       +$(1)_recipe_hash:=
       +endef
       +
       +define int_get_all_dependencies
       +$(sort $(foreach dep,$(2),$(2) $(call int_get_all_dependencies,$(1),$($(dep)_dependencies))))
       +endef
       +
       +define fetch_file_inner
       +    ( mkdir -p $$($(1)_download_dir) && echo Fetching $(3) from $(2) && \
       +    $(build_DOWNLOAD) "$$($(1)_download_dir)/$(4).temp" "$(2)/$(3)" && \
       +    echo "$(5)  $$($(1)_download_dir)/$(4).temp" > $$($(1)_download_dir)/.$(4).hash && \
       +    $(build_SHA256SUM) -c $$($(1)_download_dir)/.$(4).hash && \
       +    mv $$($(1)_download_dir)/$(4).temp $$($(1)_source_dir)/$(4) && \
       +    rm -rf $$($(1)_download_dir) )
       +endef
       +
       +define fetch_file
       +    ( test -f $$($(1)_source_dir)/$(4) || \
       +    ( $(call fetch_file_inner,$(1),$(2),$(3),$(4),$(5)) || \
       +      $(call fetch_file_inner,$(1),$(FALLBACK_DOWNLOAD_PATH),$(3),$(4),$(5))))
       +endef
       +
       +define int_get_build_recipe_hash
       +$(eval $(1)_all_file_checksums:=$(shell $(build_SHA256SUM) $(meta_depends) packages/$(1).mk $(addprefix $(PATCHES_PATH)/$(1)/,$($(1)_patches)) | cut -d" " -f1))
       +$(eval $(1)_recipe_hash:=$(shell echo -n "$($(1)_all_file_checksums)" | $(build_SHA256SUM) | cut -d" " -f1))
       +endef
       +
       +define int_get_build_id
       +$(eval $(1)_dependencies      += $($(1)_$(host_arch)_$(host_os)_dependencies) $($(1)_$(host_os)_dependencies))
       +$(eval $(1)_all_dependencies:=$(call int_get_all_dependencies,$(1),$($($(1)_type)_native_toolchain) $($(1)_dependencies)))
       +$(foreach dep,$($(1)_all_dependencies),$(eval $(1)_build_id_deps     +=$(dep)-$($(dep)_version)-$($(dep)_recipe_hash)))
       +$(eval $(1)_build_id_long:=$(1)-$($(1)_version)-$($(1)_recipe_hash)-$(release_type) $($(1)_build_id_deps) $($($(1)_type)_id_string))
       +$(eval $(1)_build_id:=$(shell echo -n "$($(1)_build_id_long)" | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH)))
       +final_build_id_long     +=$($(package)_build_id_long)
       +
       +#compute package-specific paths
       +$(1)_build_subdir?=.
       +$(1)_download_file?=$($(1)_file_name)
       +$(1)_source_dir:=$(SOURCES_PATH)
       +$(1)_source:=$$($(1)_source_dir)/$($(1)_file_name)
       +$(1)_staging_dir=$(base_staging_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id)
       +$(1)_staging_prefix_dir:=$$($(1)_staging_dir)$($($(1)_type)_prefix)
       +$(1)_extract_dir:=$(base_build_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id)
       +$(1)_download_dir:=$(base_download_dir)/$(1)-$($(1)_version)
       +$(1)_build_dir:=$$($(1)_extract_dir)/$$($(1)_build_subdir)
       +$(1)_cached_checksum:=$(BASE_CACHE)/$(host)/$(1)/$(1)-$($(1)_version)-$($(1)_build_id).tar.gz.hash
       +$(1)_patch_dir:=$(base_build_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id)/.patches-$($(1)_build_id)
       +$(1)_prefixbin:=$($($(1)_type)_prefix)/bin/
       +$(1)_cached:=$(BASE_CACHE)/$(host)/$(1)/$(1)-$($(1)_version)-$($(1)_build_id).tar.gz
       +$(1)_all_sources=$($(1)_file_name) $($(1)_extra_sources)
       +
       +#stamps
       +$(1)_fetched=$(SOURCES_PATH)/download-stamps/.stamp_fetched-$(1)-$($(1)_file_name).hash
       +$(1)_extracted=$$($(1)_extract_dir)/.stamp_extracted
       +$(1)_preprocessed=$$($(1)_extract_dir)/.stamp_preprocessed
       +$(1)_cleaned=$$($(1)_extract_dir)/.stamp_cleaned
       +$(1)_built=$$($(1)_build_dir)/.stamp_built
       +$(1)_configured=$$($(1)_build_dir)/.stamp_configured
       +$(1)_staged=$$($(1)_staging_dir)/.stamp_staged
       +$(1)_postprocessed=$$($(1)_staging_prefix_dir)/.stamp_postprocessed
       +$(1)_download_path_fixed=$(subst :,\:,$$($(1)_download_path))
       +
       +
       +#default commands
       +$(1)_fetch_cmds ?= $(call fetch_file,$(1),$(subst \:,:,$$($(1)_download_path_fixed)),$$($(1)_download_file),$($(1)_file_name),$($(1)_sha256_hash))
       +$(1)_extract_cmds ?= mkdir -p $$($(1)_extract_dir) && echo "$$($(1)_sha256_hash)  $$($(1)_source)" > $$($(1)_extract_dir)/.$$($(1)_file_name).hash &&  $(build_SHA256SUM) -c $$($(1)_extract_dir)/.$$($(1)_file_name).hash && tar --strip-components=1 -xf $$($(1)_source)
       +$(1)_preprocess_cmds ?=
       +$(1)_build_cmds ?=
       +$(1)_config_cmds ?=
       +$(1)_stage_cmds ?=
       +$(1)_set_vars ?=
       +
       +
       +all_sources     +=$$($(1)_fetched)
       +endef
       +#$(foreach dep_target,$($(1)_all_dependencies),$(eval $(1)_dependency_targets=$($(dep_target)_cached)))
       +
       +
       +define int_config_attach_build_config
       +$(eval $(call $(1)_set_vars,$(1)))
       +$(1)_cflags     +=$($(1)_cflags_$(release_type))
       +$(1)_cflags     +=$($(1)_cflags_$(host_arch)) $($(1)_cflags_$(host_arch)_$(release_type))
       +$(1)_cflags     +=$($(1)_cflags_$(host_os)) $($(1)_cflags_$(host_os)_$(release_type))
       +$(1)_cflags     +=$($(1)_cflags_$(host_arch)_$(host_os)) $($(1)_cflags_$(host_arch)_$(host_os)_$(release_type))
       +
       +$(1)_cxxflags     +=$($(1)_cxxflags_$(release_type))
       +$(1)_cxxflags     +=$($(1)_cxxflags_$(host_arch)) $($(1)_cxxflags_$(host_arch)_$(release_type))
       +$(1)_cxxflags     +=$($(1)_cxxflags_$(host_os)) $($(1)_cxxflags_$(host_os)_$(release_type))
       +$(1)_cxxflags     +=$($(1)_cxxflags_$(host_arch)_$(host_os)) $($(1)_cxxflags_$(host_arch)_$(host_os)_$(release_type))
       +
       +$(1)_cppflags     +=$($(1)_cppflags_$(release_type))
       +$(1)_cppflags     +=$($(1)_cppflags_$(host_arch)) $($(1)_cppflags_$(host_arch)_$(release_type))
       +$(1)_cppflags     +=$($(1)_cppflags_$(host_os)) $($(1)_cppflags_$(host_os)_$(release_type))
       +$(1)_cppflags     +=$($(1)_cppflags_$(host_arch)_$(host_os)) $($(1)_cppflags_$(host_arch)_$(host_os)_$(release_type))
       +
       +$(1)_ldflags     +=$($(1)_ldflags_$(release_type))
       +$(1)_ldflags     +=$($(1)_ldflags_$(host_arch)) $($(1)_ldflags_$(host_arch)_$(release_type))
       +$(1)_ldflags     +=$($(1)_ldflags_$(host_os)) $($(1)_ldflags_$(host_os)_$(release_type))
       +$(1)_ldflags     +=$($(1)_ldflags_$(host_arch)_$(host_os)) $($(1)_ldflags_$(host_arch)_$(host_os)_$(release_type))
       +
       +$(1)_build_opts     +=$$($(1)_build_opts_$(release_type))
       +$(1)_build_opts     +=$$($(1)_build_opts_$(host_arch)) $$($(1)_build_opts_$(host_arch)_$(release_type))
       +$(1)_build_opts     +=$$($(1)_build_opts_$(host_os)) $$($(1)_build_opts_$(host_os)_$(release_type))
       +$(1)_build_opts     +=$$($(1)_build_opts_$(host_arch)_$(host_os)) $$($(1)_build_opts_$(host_arch)_$(host_os)_$(release_type))
       +
       +$(1)_config_opts     +=$$($(1)_config_opts_$(release_type))
       +$(1)_config_opts     +=$$($(1)_config_opts_$(host_arch)) $$($(1)_config_opts_$(host_arch)_$(release_type))
       +$(1)_config_opts     +=$$($(1)_config_opts_$(host_os)) $$($(1)_config_opts_$(host_os)_$(release_type))
       +$(1)_config_opts     +=$$($(1)_config_opts_$(host_arch)_$(host_os)) $$($(1)_config_opts_$(host_arch)_$(host_os)_$(release_type))
       +
       +$(1)_config_env     +=$$($(1)_config_env_$(release_type))
       +$(1)_config_env     +=$($(1)_config_env_$(host_arch)) $($(1)_config_env_$(host_arch)_$(release_type))
       +$(1)_config_env     +=$($(1)_config_env_$(host_os)) $($(1)_config_env_$(host_os)_$(release_type))
       +$(1)_config_env     +=$($(1)_config_env_$(host_arch)_$(host_os)) $($(1)_config_env_$(host_arch)_$(host_os)_$(release_type))
       +
       +$(1)_config_env     +=PKG_CONFIG_LIBDIR=$($($(1)_type)_prefix)/lib/pkgconfig
       +$(1)_config_env     +=PKG_CONFIG_PATH=$($($(1)_type)_prefix)/share/pkgconfig
       +$(1)_config_env     +=PATH=$(build_prefix)/bin:$(PATH)
       +$(1)_build_env     +=PATH=$(build_prefix)/bin:$(PATH)
       +$(1)_stage_env     +=PATH=$(build_prefix)/bin:$(PATH)
       +$(1)_autoconf=./configure --host=$($($(1)_type)_host) --disable-dependency-tracking --prefix=$($($(1)_type)_prefix) $$($(1)_config_opts) CC="$$($(1)_cc)" CXX="$$($(1)_cxx)"
       +
       +ifneq ($($(1)_nm),)
       +$(1)_autoconf      += NM="$$($(1)_nm)"
       +endif
       +ifneq ($($(1)_ranlib),)
       +$(1)_autoconf      += RANLIB="$$($(1)_ranlib)"
       +endif
       +ifneq ($($(1)_ar),)
       +$(1)_autoconf      += AR="$$($(1)_ar)"
       +endif
       +ifneq ($($(1)_cflags),)
       +$(1)_autoconf      += CFLAGS="$$($(1)_cflags)"
       +endif
       +ifneq ($($(1)_cxxflags),)
       +$(1)_autoconf      += CXXFLAGS="$$($(1)_cxxflags)"
       +endif
       +ifneq ($($(1)_cppflags),)
       +$(1)_autoconf      += CPPFLAGS="$$($(1)_cppflags)"
       +endif
       +ifneq ($($(1)_ldflags),)
       +$(1)_autoconf      += LDFLAGS="$$($(1)_ldflags)"
       +endif
       +endef
       +
       +define int_add_cmds
       +$($(1)_fetched):
       +	$(AT)mkdir -p $$(@D) $(SOURCES_PATH)
       +	$(AT)rm -f $$@
       +	$(AT)touch $$@
       +	$(AT)cd $$(@D); $(call $(1)_fetch_cmds,$(1))
       +	$(AT)cd $($(1)_source_dir); $(foreach source,$($(1)_all_sources),$(build_SHA256SUM) $(source) >> $$(@);)
       +	$(AT)touch $$@
       +$($(1)_extracted): | $($(1)_fetched)
       +	$(AT)echo Extracting $(1)...
       +	$(AT)mkdir -p $$(@D)
       +	$(AT)cd $$(@D); $(call $(1)_extract_cmds,$(1))
       +	$(AT)touch $$@
       +$($(1)_preprocessed): | $($(1)_dependencies) $($(1)_extracted)
       +	$(AT)echo Preprocessing $(1)...
       +	$(AT)mkdir -p $$(@D) $($(1)_patch_dir)
       +	$(AT)$(foreach patch,$($(1)_patches),cd $(PATCHES_PATH)/$(1); cp $(patch) $($(1)_patch_dir) ;)
       +	$(AT)cd $$(@D); $(call $(1)_preprocess_cmds, $(1))
       +	$(AT)touch $$@
       +$($(1)_configured): | $($(1)_preprocessed)
       +	$(AT)echo Configuring $(1)...
       +	$(AT)rm -rf $(host_prefix); mkdir -p $(host_prefix)/lib; cd $(host_prefix); $(foreach package,$($(1)_all_dependencies), tar xf $($(package)_cached); )
       +	$(AT)mkdir -p $$(@D)
       +	$(AT)     +cd $$(@D); $($(1)_config_env) $(call $(1)_config_cmds, $(1))
       +	$(AT)touch $$@
       +$($(1)_built): | $($(1)_configured)
       +	$(AT)echo Building $(1)...
       +	$(AT)mkdir -p $$(@D)
       +	$(AT)     +cd $$(@D); $($(1)_build_env) $(call $(1)_build_cmds, $(1))
       +	$(AT)touch $$@
       +$($(1)_staged): | $($(1)_built)
       +	$(AT)echo Staging $(1)...
       +	$(AT)mkdir -p $($(1)_staging_dir)/$(host_prefix)
       +	$(AT)cd $($(1)_build_dir); $($(1)_stage_env) $(call $(1)_stage_cmds, $(1))
       +	$(AT)rm -rf $($(1)_extract_dir)
       +	$(AT)touch $$@
       +$($(1)_postprocessed): | $($(1)_staged)
       +	$(AT)echo Postprocessing $(1)...
       +	$(AT)cd $($(1)_staging_prefix_dir); $(call $(1)_postprocess_cmds)
       +	$(AT)touch $$@
       +$($(1)_cached): | $($(1)_dependencies) $($(1)_postprocessed)
       +	$(AT)echo Caching $(1)...
       +	$(AT)cd $$($(1)_staging_dir)/$(host_prefix); find . | sort | tar --no-recursion -czf $$($(1)_staging_dir)/$$(@F) -T -
       +	$(AT)mkdir -p $$(@D)
       +	$(AT)rm -rf $$(@D) && mkdir -p $$(@D)
       +	$(AT)mv $$($(1)_staging_dir)/$$(@F) $$(@)
       +	$(AT)rm -rf $($(1)_staging_dir)
       +$($(1)_cached_checksum): $($(1)_cached)
       +	$(AT)cd $$(@D); $(build_SHA256SUM) $$(<F) > $$(@)
       +
       +.PHONY: $(1)
       +$(1): | $($(1)_cached_checksum)
       +.SECONDARY: $($(1)_cached) $($(1)_postprocessed) $($(1)_staged) $($(1)_built) $($(1)_configured) $($(1)_preprocessed) $($(1)_extracted) $($(1)_fetched)
       +
       +endef
       +
       +# These functions create the build targets for each package. They must be
       +# broken down into small steps so that each part is done for all packages
       +# before moving on to the next step. Otherwise, a package's info
       +# (build-id for example) would only be available to another package if it
       +# happened to be computed already.
       +
       +#set the type for host/build packages.
       +$(foreach native_package,$(native_packages),$(eval $(native_package)_type=build))
       +$(foreach package,$(packages),$(eval $(package)_type=$(host_arch)_$(host_os)))
       +
       +#set overridable defaults
       +$(foreach package,$(all_packages),$(eval $(call int_vars,$(package))))
       +
       +#include package files
       +$(foreach package,$(all_packages),$(eval include packages/$(package).mk))
       +
       +#compute a hash of all files that comprise this package's build recipe
       +$(foreach package,$(all_packages),$(eval $(call int_get_build_recipe_hash,$(package))))
       +
       +#generate a unique id for this package, incorporating its dependencies as well
       +$(foreach package,$(all_packages),$(eval $(call int_get_build_id,$(package))))
       +
       +#compute final vars after reading package vars
       +$(foreach package,$(all_packages),$(eval $(call int_config_attach_build_config,$(package))))
       +
       +#create build targets
       +$(foreach package,$(all_packages),$(eval $(call int_add_cmds,$(package))))
       +
       +#special exception: if a toolchain package exists, all non-native packages depend on it
       +$(foreach package,$(packages),$(eval $($(package)_unpacked): |$($($(host_arch)_$(host_os)_native_toolchain)_cached) ))
      

      New file

      1 Reply Last reply Reply Quote 0
      • wrapper
        wrapper Moderators last edited by

        Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

        Added depends folder from bitcoin’s tree to build all dependencies. :: commit

        Auto build

        https://github.com/FeatherCoin/Feathercoin/commit/e69efc079f1055dc5b12be5d41b82f518cd06a5a

        depends/hosts/darwin.mk

         +OSX_MIN_VERSION=10.8
         +OSX_SDK_VERSION=10.12
         +OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk
         +LD64_VERSION=253.9
         +darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION)
         +darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -stdlib=libc++
         +
         +darwin_CFLAGS=-pipe
         +darwin_CXXFLAGS=$(darwin_CFLAGS)
         +
         +darwin_release_CFLAGS=-O2
         +darwin_release_CXXFLAGS=$(darwin_release_CFLAGS)
         +
         +darwin_debug_CFLAGS=-O1
         +darwin_debug_CXXFLAGS=$(darwin_debug_CFLAGS)
         +
         +darwin_native_toolchain=native_cctools
        

        New code build file?

        1 Reply Last reply Reply Quote 0
        • wrapper
          wrapper Moderators last edited by wrapper

          Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

          Added depends folder from bitcoin’s tree to build all dependencies. :: commit

          Auto build

          https://github.com/FeatherCoin/Feathercoin/commit/e69efc079f1055dc5b12be5d41b82f518cd06a5a

          depends/hosts/default.mk

           +default_host_CC = $(host_toolchain)gcc
           +default_host_CXX = $(host_toolchain)g++
           +default_host_AR = $(host_toolchain)ar
           +default_host_RANLIB = $(host_toolchain)ranlib
           +default_host_STRIP = $(host_toolchain)strip
           +default_host_LIBTOOL = $(host_toolchain)libtool
           +default_host_INSTALL_NAME_TOOL = $(host_toolchain)install_name_tool
           +default_host_OTOOL = $(host_toolchain)otool
           +default_host_NM = $(host_toolchain)nm
           +
           +define add_host_tool_func
           +$(host_os)_$1?=$$(default_host_$1)
           +$(host_arch)_$(host_os)_$1?=$$($(host_os)_$1)
           +$(host_arch)_$(host_os)_$(release_type)_$1?=$$($(host_os)_$1)
           +host_$1=$$($(host_arch)_$(host_os)_$1)
           +endef
           +
           +define add_host_flags_func
           +$(host_arch)_$(host_os)_$1 += $($(host_os)_$1)
           +$(host_arch)_$(host_os)_$(release_type)_$1 += $($(host_os)_$(release_type)_$1)
           +host_$1 = $$($(host_arch)_$(host_os)_$1)
           +host_$(release_type)_$1 = $$($(host_arch)_$(host_os)_$(release_type)_$1)
           +endef
           +
           +$(foreach tool,CC CXX AR RANLIB STRIP NM LIBTOOL OTOOL INSTALL_NAME_TOOL,$(eval $(call add_host_tool_func,$(tool))))
           +$(foreach flags,CFLAGS CXXFLAGS CPPFLAGS LDFLAGS, $(eval $(call add_host_flags_func,$(flags))))
          

          Code / file added

          1 Reply Last reply Reply Quote 0
          • wrapper
            wrapper Moderators last edited by

            Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

            Added depends folder from bitcoin’s tree to build all dependencies. :: commit

            Auto build

            https://github.com/FeatherCoin/Feathercoin/commit/e69efc079f1055dc5b12be5d41b82f518cd06a5a

            depends/hosts/linux.mk

             +linux_CFLAGS=-pipe
             +linux_CXXFLAGS=$(linux_CFLAGS)
             +
             +linux_release_CFLAGS=-O2
             +linux_release_CXXFLAGS=$(linux_release_CFLAGS)
             +
             +linux_debug_CFLAGS=-O1
             +linux_debug_CXXFLAGS=$(linux_debug_CFLAGS)
             +
             +linux_debug_CPPFLAGS=-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC
             +
             +ifeq (86,$(findstring 86,$(build_arch)))
             +i686_linux_CC=gcc -m32
             +i686_linux_CXX=g++ -m32
             +i686_linux_AR=ar
             +i686_linux_RANLIB=ranlib
             +i686_linux_NM=nm
             +i686_linux_STRIP=strip
             +
             +x86_64_linux_CC=gcc -m64
             +x86_64_linux_CXX=g++ -m64
             +x86_64_linux_AR=ar
             +x86_64_linux_RANLIB=ranlib
             +x86_64_linux_NM=nm
             +x86_64_linux_STRIP=strip
             +else
             +i686_linux_CC=$(default_host_CC) -m32
             +i686_linux_CXX=$(default_host_CXX) -m32
             +x86_64_linux_CC=$(default_host_CC) -m64
             +x86_64_linux_CXX=$(default_host_CXX) -m64
             +endif
            

            File added code added

            1 Reply Last reply Reply Quote 0
            • wrapper
              wrapper Moderators last edited by

              Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

              Added depends folder from bitcoin’s tree to build all dependencies. :: commit

              Auto build

              https://github.com/FeatherCoin/Feathercoin/commit/e69efc079f1055dc5b12be5d41b82f518cd06a5a

              depends/hosts/mingw32.mk

               +mingw32_CFLAGS=-pipe
               +mingw32_CXXFLAGS=$(mingw32_CFLAGS)
               +
               +mingw32_release_CFLAGS=-O2
               +mingw32_release_CXXFLAGS=$(mingw32_release_CFLAGS)
               +
               +mingw32_debug_CFLAGS=-O1
               +mingw32_debug_CXXFLAGS=$(mingw32_debug_CFLAGS)
               +
               +mingw32_debug_CPPFLAGS=-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC
              

              Code added

              1 Reply Last reply Reply Quote 0
              • wrapper
                wrapper Moderators last edited by

                Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                Added depends folder from bitcoin’s tree to build all dependencies. :: commit

                Auto build

                https://github.com/FeatherCoin/Feathercoin/commit/e69efc079f1055dc5b12be5d41b82f518cd06a5a

                depends/packages.md

                 +Each recipe consists of 3 main parts: defining identifiers, setting build
                 +variables, and defining build commands.
                 +
                 +The package "mylib" will be used here as an example
                 +
                 +General tips:
                 +- mylib_foo is written as $(package)_foo in order to make recipes more similar.
                 +
                 +## Identifiers
                 +Each package is required to define at least these variables:
                 +
                 +    $(package)_version:
                 +    Version of the upstream library or program. If there is no version, a
                 +    placeholder such as 1.0 can be used.
                 +
                 +    $(package)_download_path:
                 +    Location of the upstream source, without the file-name. Usually http or
                 +    ftp.
                 +
                 +    $(package)_file_name:
                 +    The upstream source filename available at the download path.
                 +
                 +    $(package)_sha256_hash:
                 +    The sha256 hash of the upstream file
                 +
                 +These variables are optional:
                 +
                 +    $(package)_build_subdir:
                 +    cd to this dir before running configure/build/stage commands.
                 +    
                 +    $(package)_download_file:
                 +    The file-name of the upstream source if it differs from how it should be
                 +    stored locally. This can be used to avoid storing file-names with strange
                 +    characters.
                 +    
                 +    $(package)_dependencies:
                 +    Names of any other packages that this one depends on.
                 +    
                 +    $(package)_patches:
                 +    Filenames of any patches needed to build the package
                 +
                 +    $(package)_extra_sources:
                 +    Any extra files that will be fetched via $(package)_fetch_cmds. These are
                 +    specified so that they can be fetched and verified via 'make download'.
                 +
                 +
                 +## Build Variables:
                 +After defining the main identifiers, build variables may be added or customized
                 +before running the build commands. They should be added to a function called
                 +$(package)_set_vars. For example:
                 +
                 +    define $(package)_set_vars
                 +    ...
                 +    endef
                 +
                 +Most variables can be prefixed with the host, architecture, or both, to make
                 +the modifications specific to that case. For example:
                 +
                 +    Universal:     $(package)_cc=gcc
                 +    Linux only:    $(package)_linux_cc=gcc
                 +    x86_64 only:       $(package)_x86_64_cc = gcc
                 +    x86_64 linux only: $(package)_x86_64_linux_cc = gcc
                 +
                 +These variables may be set to override or append their default values.
                 +
                 +    $(package)_cc
                 +    $(package)_cxx
                 +    $(package)_objc
                 +    $(package)_objcxx
                 +    $(package)_ar
                 +    $(package)_ranlib
                 +    $(package)_libtool
                 +    $(package)_nm
                 +    $(package)_cflags
                 +    $(package)_cxxflags
                 +    $(package)_ldflags
                 +    $(package)_cppflags
                 +    $(package)_config_env
                 +    $(package)_build_env
                 +    $(package)_stage_env
                 +    $(package)_build_opts
                 +    $(package)_config_opts
                 +
                 +The *_env variables are used to add environment variables to the respective
                 +commands.
                 +
                 +Many variables respect a debug/release suffix as well, in order to use them for
                 +only the appropriate build config. For example:
                 +
                 +    $(package)_cflags_release = -O3
                 +    $(package)_cflags_i686_debug = -g
                 +    $(package)_config_opts_release = --disable-debug
                 +
                 +These will be used in addition to the options that do not specify
                 +debug/release. All builds are considered to be release unless DEBUG=1 is set by
                 +the user. Other variables may be defined as needed.
                 +
                 +## Build commands:
                 +
                 +  For each build, a unique build dir and staging dir are created. For example,
                 +  `work/build/mylib/1.0-1adac830f6e` and `work/staging/mylib/1.0-1adac830f6e`.
                 +
                 +  The following build commands are available for each recipe:
                 +
                 +    $(package)_fetch_cmds:
                 +    Runs from: build dir
                 +    Fetch the source file. If undefined, it will be fetched and verified
                 +    against its hash.
                 +
                 +    $(package)_extract_cmds:
                 +    Runs from: build dir
                 +    Verify the source file against its hash and extract it. If undefined, the
                 +    source is assumed to be a tarball.
                 +
                 +    $(package)_preprocess_cmds:
                 +    Runs from: build dir/$(package)_build_subdir
                 +    Preprocess the source as necessary. If undefined, does nothing.
                 +
                 +    $(package)_config_cmds:
                 +    Runs from: build dir/$(package)_build_subdir
                 +    Configure the source. If undefined, does nothing.
                 +
                 +    $(package)_build_cmds:
                 +    Runs from: build dir/$(package)_build_subdir
                 +    Build the source. If undefined, does nothing.
                 +
                 +    $(package)_stage_cmds:
                 +    Runs from: build dir/$(package)_build_subdir
                 +    Stage the build results. If undefined, does nothing.
                 +
                 +  The following variables are available for each recipe:
                 +    
                 +    $(1)_staging_dir: package's destination sysroot path
                 +    $(1)_staging_prefix_dir: prefix path inside of the package's staging dir
                 +    $(1)_extract_dir: path to the package's extracted sources
                 +    $(1)_build_dir: path where configure/build/stage commands will be run
                 +    $(1)_patch_dir: path where the package's patches (if any) are found
                 +
                 +Notes on build commands:
                 +
                 +For packages built with autotools, $($(package)_autoconf) can be used in the
                 +configure step to (usually) correctly configure automatically. Any
                 +$($(package)_config_opts) will be appended.
                 +
                 +Most autotools projects can be properly staged using:
                 +
                 +    $(MAKE) DESTDIR=$($(package)_staging_dir) install
                

                Code added

                1 Reply Last reply Reply Quote 0
                • wrapper
                  wrapper Moderators last edited by

                  Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                  Added depends folder from bitcoin’s tree to build all dependencies. :: commit

                  Auto build

                  https://github.com/FeatherCoin/Feathercoin/commit/e69efc079f1055dc5b12be5d41b82f518cd06a5a

                  depends/packages.md

                   +Each recipe consists of 3 main parts: defining identifiers, setting build
                   +variables, and defining build commands.
                   +
                   +The package "mylib" will be used here as an example
                   +
                   +General tips:
                   +- mylib_foo is written as $(package)_foo in order to make recipes more similar.
                   +
                   +## Identifiers
                   +Each package is required to define at least these variables:
                   +
                   +    $(package)_version:
                   +    Version of the upstream library or program. If there is no version, a
                   +    placeholder such as 1.0 can be used.
                   +
                   +    $(package)_download_path:
                   +    Location of the upstream source, without the file-name. Usually http or
                   +    ftp.
                   +
                   +    $(package)_file_name:
                   +    The upstream source filename available at the download path.
                   +
                   +    $(package)_sha256_hash:
                   +    The sha256 hash of the upstream file
                   +
                   +These variables are optional:
                   +
                   +    $(package)_build_subdir:
                   +    cd to this dir before running configure/build/stage commands.
                   +    
                   +    $(package)_download_file:
                   +    The file-name of the upstream source if it differs from how it should be
                   +    stored locally. This can be used to avoid storing file-names with strange
                   +    characters.
                   +    
                   +    $(package)_dependencies:
                   +    Names of any other packages that this one depends on.
                   +    
                   +    $(package)_patches:
                   +    Filenames of any patches needed to build the package
                   +
                   +    $(package)_extra_sources:
                   +    Any extra files that will be fetched via $(package)_fetch_cmds. These are
                   +    specified so that they can be fetched and verified via 'make download'.
                   +
                   +
                   +## Build Variables:
                   +After defining the main identifiers, build variables may be added or customized
                   +before running the build commands. They should be added to a function called
                   +$(package)_set_vars. For example:
                   +
                   +    define $(package)_set_vars
                   +    ...
                   +    endef
                   +
                   +Most variables can be prefixed with the host, architecture, or both, to make
                   +the modifications specific to that case. For example:
                   +
                   +    Universal:     $(package)_cc=gcc
                   +    Linux only:    $(package)_linux_cc=gcc
                   +    x86_64 only:       $(package)_x86_64_cc = gcc
                   +    x86_64 linux only: $(package)_x86_64_linux_cc = gcc
                   +
                   +These variables may be set to override or append their default values.
                   +
                   +    $(package)_cc
                   +    $(package)_cxx
                   +    $(package)_objc
                   +    $(package)_objcxx
                   +    $(package)_ar
                   +    $(package)_ranlib
                   +    $(package)_libtool
                   +    $(package)_nm
                   +    $(package)_cflags
                   +    $(package)_cxxflags
                   +    $(package)_ldflags
                   +    $(package)_cppflags
                   +    $(package)_config_env
                   +    $(package)_build_env
                   +    $(package)_stage_env
                   +    $(package)_build_opts
                   +    $(package)_config_opts
                   +
                   +The *_env variables are used to add environment variables to the respective
                   +commands.
                   +
                   +Many variables respect a debug/release suffix as well, in order to use them for
                   +only the appropriate build config. For example:
                   +
                   +    $(package)_cflags_release = -O3
                   +    $(package)_cflags_i686_debug = -g
                   +    $(package)_config_opts_release = --disable-debug
                   +
                   +These will be used in addition to the options that do not specify
                   +debug/release. All builds are considered to be release unless DEBUG=1 is set by
                   +the user. Other variables may be defined as needed.
                   +
                   +## Build commands:
                   +
                   +  For each build, a unique build dir and staging dir are created. For example,
                   +  `work/build/mylib/1.0-1adac830f6e` and `work/staging/mylib/1.0-1adac830f6e`.
                   +
                   +  The following build commands are available for each recipe:
                   +
                   +    $(package)_fetch_cmds:
                   +    Runs from: build dir
                   +    Fetch the source file. If undefined, it will be fetched and verified
                   +    against its hash.
                   +
                   +    $(package)_extract_cmds:
                   +    Runs from: build dir
                   +    Verify the source file against its hash and extract it. If undefined, the
                   +    source is assumed to be a tarball.
                   +
                   +    $(package)_preprocess_cmds:
                   +    Runs from: build dir/$(package)_build_subdir
                   +    Preprocess the source as necessary. If undefined, does nothing.
                   +
                   +    $(package)_config_cmds:
                   +    Runs from: build dir/$(package)_build_subdir
                   +    Configure the source. If undefined, does nothing.
                   +
                   +    $(package)_build_cmds:
                   +    Runs from: build dir/$(package)_build_subdir
                   +    Build the source. If undefined, does nothing.
                   +
                   +    $(package)_stage_cmds:
                   +    Runs from: build dir/$(package)_build_subdir
                   +    Stage the build results. If undefined, does nothing.
                   +
                   +  The following variables are available for each recipe:
                   +    
                   +    $(1)_staging_dir: package's destination sysroot path
                   +    $(1)_staging_prefix_dir: prefix path inside of the package's staging dir
                   +    $(1)_extract_dir: path to the package's extracted sources
                   +    $(1)_build_dir: path where configure/build/stage commands will be run
                   +    $(1)_patch_dir: path where the package's patches (if any) are found
                   +
                   +Notes on build commands:
                   +
                   +For packages built with autotools, $($(package)_autoconf) can be used in the
                   +configure step to (usually) correctly configure automatically. Any
                   +$($(package)_config_opts) will be appended.
                   +
                   +Most autotools projects can be properly staged using:
                   +
                   +    $(MAKE) DESTDIR=$($(package)_staging_dir) install
                    31 depends/packages/bdb.mk
                    @@ -0,0      +1,31 @@
                   +package=bdb
                   +$(package)_version=4.8.30
                   +$(package)_download_path=http://download.oracle.com/berkeley-db
                   +$(package)_file_name=db-$($(package)_version).NC.tar.gz
                   +$(package)_sha256_hash=12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef
                   +$(package)_build_subdir=build_unix
                   +
                   +define $(package)_set_vars
                   +$(package)_config_opts=--disable-shared --enable-cxx --disable-replication
                   +$(package)_config_opts_mingw32=--enable-mingw
                   +$(package)_config_opts_linux=--with-pic
                   +$(package)_cxxflags=-std=c++11
                   +endef
                   +
                   +define $(package)_preprocess_cmds
                   +  sed -i.old 's/__atomic_compare_exchange/__atomic_compare_exchange_db/' dbinc/atomic.h && \
                   +  sed -i.old 's/atomic_init/atomic_init_db/' dbinc/atomic.h mp/mp_region.c mp/mp_mvcc.c mp/mp_fget.c mutex/mut_method.c mutex/mut_tas.c && \
                   +  cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub dist
                   +endef
                   +
                   +define $(package)_config_cmds
                   +  ../dist/$($(package)_autoconf)
                   +endef
                   +
                   +define $(package)_build_cmds
                   +  $(MAKE) libdb_cxx-4.8.a libdb-4.8.a
                   +endef
                   +
                   +define $(package)_stage_cmds
                   +  $(MAKE) DESTDIR=$($(package)_staging_dir) install_lib install_include
                   +endef
                  

                  New file code added

                  1 Reply Last reply Reply Quote 0
                  • wrapper
                    wrapper Moderators last edited by

                    Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                    Added depends folder from bitcoin’s tree to build all dependencies. :: commit

                    Auto build

                    https://github.com/FeatherCoin/Feathercoin/commit/e69efc079f1055dc5b12be5d41b82f518cd06a5a

                    depends/packages/boost.mk

                     +package=boost
                     +$(package)_version=1_63_0
                     +$(package)_download_path=https://sourceforge.net/projects/boost/files/boost/1.63.0
                     +$(package)_file_name=$(package)_$($(package)_version).tar.bz2
                     +$(package)_sha256_hash=beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0
                     +
                     +define $(package)_set_vars
                     +$(package)_config_opts_release=variant=release
                     +$(package)_config_opts_debug=variant=debug
                     +$(package)_config_opts=--layout=tagged --build-type=complete --user-config=user-config.jam
                     +$(package)_config_opts+=threading=multi link=static -sNO_BZIP2=1 -sNO_ZLIB=1
                     +$(package)_config_opts_linux=threadapi=pthread runtime-link=shared
                     +$(package)_config_opts_darwin=--toolset=darwin-4.2.1 runtime-link=shared
                     +$(package)_config_opts_mingw32=binary-format=pe target-os=windows threadapi=win32 runtime-link=static
                     +$(package)_config_opts_x86_64_mingw32=address-model=64
                     +$(package)_config_opts_i686_mingw32=address-model=32
                     +$(package)_config_opts_i686_linux=address-model=32 architecture=x86
                     +$(package)_toolset_$(host_os)=gcc
                     +$(package)_archiver_$(host_os)=$($(package)_ar)
                     +$(package)_toolset_darwin=darwin
                     +$(package)_archiver_darwin=$($(package)_libtool)
                     +$(package)_config_libraries=chrono,filesystem,program_options,system,thread,test
                     +$(package)_cxxflags=-std=c++11 -fvisibility=hidden
                     +$(package)_cxxflags_linux=-fPIC
                     +endef
                     +
                     +define $(package)_preprocess_cmds
                     +  echo "using $(boost_toolset_$(host_os)) : : $($(package)_cxx) : <cxxflags>\"$($(package)_cxxflags) $($(package)_cppflags)\" <linkflags>\"$($(package)_ldflags)\" <archiver>\"$(boost_archiver_$(host_os))\" <striper>\"$(host_STRIP)\"  <ranlib>\"$(host_RANLIB)\" <rc>\"$(host_WINDRES)\" : ;" > user-config.jam
                     +endef
                     +
                     +define $(package)_config_cmds
                     +  ./bootstrap.sh --without-icu --with-libraries=$(boost_config_libraries)
                     +endef
                     +
                     +define $(package)_build_cmds
                     +  ./b2 -d2 -j2 -d1 --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) stage
                     +endef
                     +
                     +define $(package)_stage_cmds
                     +  ./b2 -d0 -j4 --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) install
                     +endef
                    

                    File added

                    1 Reply Last reply Reply Quote 0
                    • wrapper
                      wrapper Moderators last edited by wrapper

                      Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                      Added depends folder from bitcoin’s tree to build all dependencies. :: commit

                      Auto build

                      https://github.com/FeatherCoin/Feathercoin/commit/e69efc079f1055dc5b12be5d41b82f518cd06a5a

                      depends/packages/dbus.mk

                       +package=dbus
                       +$(package)_version=1.10.14
                       +$(package)_download_path=http://dbus.freedesktop.org/releases/dbus
                       +$(package)_file_name=$(package)-$($(package)_version).tar.gz
                       +$(package)_sha256_hash=23238f70353e38ce5ca183ebc9525c0d97ac00ef640ad29cf794782af6e6a083
                       +$(package)_dependencies=expat
                       +
                       +define $(package)_set_vars
                       +  $(package)_config_opts=--disable-tests --disable-doxygen-docs --disable-xml-docs --disable-static --without-x
                       +endef
                       +
                       +define $(package)_config_cmds
                       +  $($(package)_autoconf)
                       +endef
                       +
                       +define $(package)_build_cmds
                       +  $(MAKE) -C dbus libdbus-1.la
                       +endef
                       +
                       +define $(package)_stage_cmds
                       +  $(MAKE) -C dbus DESTDIR=$($(package)_staging_dir) install-libLTLIBRARIES install-dbusincludeHEADERS install-nodist_dbusarchincludeHEADERS && \
                       +  $(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA
                       +endef
                      

                      New file Added

                      1 Reply Last reply Reply Quote 0
                      • wrapper
                        wrapper Moderators last edited by

                        Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                        Added depends folder from bitcoin’s tree to build all dependencies. :: commit

                        Auto build

                        https://github.com/FeatherCoin/Feathercoin/commit/e69efc079f1055dc5b12be5d41b82f518cd06a5a

                        The rest of mk files

                        depends/packages/expat.mk
                        depends/packages/fontconfig.mk
                        depends/packages/freetype.mk
                        depends/packages/libICE.mk
                        depends/packages/libSM.mk
                        depends/packages/libX11.mk
                        depends/packages/libXau.mk
                        depends/packages/libXext.mk
                        depends/packages/libevent.mk
                        depends/packages/libevent.mk
                        depends/packages/miniupnpc.mk
                        depends/packages/native_biplist.mk
                        depends/packages/native_ccache.mk
                        depends/packages/native_cctools.mk
                        depends/packages/native_cdrkit.mk
                        depends/packages/native_ds_store.mk
                        depends/packages/native_libdmg-hfsplus.mk
                        depends/packages/native_mac_alias.mk
                        depends/packages/native_protobuf.mk
                        depends/packages/openssl.mk
                        depends/packages/packages.mk
                        depends/packages/protobuf.mk
                        depends/packages/qrencode.mk
                        depends/packages/qt.mk
                        depends/packages/xcb_proto.mk
                        depends/packages/xextproto.mk
                        depends/packages/xproto.mk
                        depends/packages/xtrans.mk
                        depends/packages/zeromq.mk
                        depends/packages/zlib.mk
                        depends/patches/native_biplist/sorted_list.patch
                        depends/patches/native_cdrkit/cdrkit-deterministic.patch
                        ** depends/patches/native_mac_alias/python3.patch**
                        depends/patches/qt/fix-xcb-include-order.patch
                        depends/patches/qt/fix_qt_pkgconfig.patch
                        depends/patches/qt/mac-qmake.conf
                        depends/patches/qt/mingw-uuidof.patch
                        depends/patches/qt/pidlist_absolute.patch
                        depends/patches/zeromq/9114d3957725acd34aa8b8d011585812f3369411.patch
                        depends/patches/zeromq/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch

                        Files added

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post