Skip to content
Snippets Groups Projects
  1. May 15, 2020
  2. Apr 10, 2020
    • Tom Rini's avatar
      kconfig / kbuild: Re-sync with Linux 4.19 · 587e4a42
      Tom Rini authored
      
      Align Kconfig and Kbuild logic to Linux 4.19 release with minimal impact
      on files outside of this scope.
      
      Our previous Kconfig sync was done by commit 5972ff07 ("kconfig /
      kbuild: re-sync with Linux 4.18").
      
      In this particular re-sync in order to keep clang support working a
      number of related changes needed to be pulled in that had been missed
      previously.  Not all of these changes we easily traceable and so have
      been omitted from the list below.
      
      The imported Linux commits are:
      [From prior to v4.18]
      9f3f1fd29976 kbuild: Add __cc-option macro
      d7f14c66c273 kbuild: Enable Large File Support for hostprogs
      6d79a7b424a5 kbuild: suppress warnings from 'getconf LFS_*'
      24403874316a Shared library support
      86a9df597cdd kbuild: fix linker feature test macros when cross compiling with Clang
      0294e6f4a000 kbuild: simplify ld-option implementation
      
      [From v4.18 to v4.19]
      96f14fe738b6 kbuild: Rename HOSTCFLAGS to KBUILD_HOSTCFLAGS
      10844aebf448 kbuild: Rename HOSTCXXFLAGS to KBUILD_HOSTCXXFLAGS
      b90a368000ab kbuild: Rename HOSTLDFLAGS to KBUILD_HOSTLDFLAGS
      8377bd2b9ee1 kbuild: Rename HOST_LOADLIBES to KBUILD_HOSTLDLIBS
      f92d19e0ef9b kbuild: Use HOST*FLAGS options from the command line
      4ab3b80159d4 kconfig: check for pkg-config on make {menu,n,g,x}config
      693359f7ac90 kconfig: rename SYMBOL_AUTO to SYMBOL_NO_WRITE
      f60b992e30ff kbuild: replace $(LDFLAGS) $(ldflags-y) with $(ld_flags)
      2fb9279f2c3e kbuild: change ld_flags to contain LDFLAGS_$(@F)
      c931d34ea085 arm64: build with baremetal linker target instead of Linux when available
      5accd7f3360e kconfig: handle format string before calling conf_message_callback()
      a2ff4040151a kconfig: rename file_write_dep and move it to confdata.c
      0608182ad542 kconfig: split out useful helpers in confdata.c
      adc18acf42a1 kconfig: remove unneeded directory generation from local*config
      79123b1389cc kconfig: create directories needed for syncconfig by itself
      16952b77d8b5 kconfig: make syncconfig update .config regardless of sym_change_count
      d6c6ab93e17f kbuild: remove deprecated host-progs variable
      56869d45e364 kconfig: fix the rule of mainmenu_stmt symbol
      c151272d1687 kconfig: remove unused sym_get_env_prop() function
      1880861226c1 kconfig: remove P_ENV property type
      e3fd9b5384f3 scripts/dtc: consolidate include path options in Makefile
      4bf6a9af0e91 kconfig: add build-only configurator targets
      f1575595d156 kconfig: error out when seeing recursive dependency
      5e8c5299d315 kconfig: report recursive dependency involving 'imply'
      f498926c47aa kconfig: improve the recursive dependency report
      98a4afbfafd2 kconfig: fix "Can't open ..." in parallel build
      9a9ddcf47831 kconfig: suppress "configuration written to .config" for syncconfig
      87a32e624037 kbuild: pass LDFLAGS to recordmcount.pl
      d503ac531a52 kbuild: rename LDFLAGS to KBUILD_LDFLAGS
      217c3e019675 disable stringop truncation warnings for now
      bc8d2e20a3eb kconfig: remove a spurious self-assignment
      fd65465b7016 kconfig: do not require pkg-config on make {menu,n}config
      5a4630aadb9a ftrace: Build with CPPFLAGS to get -Qunused-arguments
      
      Note that this adds new cleanup work to do in that we should adapt the
      shared library support we have to what is now upstream.
      
      Signed-off-by: default avatarTom Rini <trini@konsulko.com>
      Reviewed-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      587e4a42
  3. Nov 18, 2018
  4. Sep 11, 2018
  5. May 07, 2018
    • Tom Rini's avatar
      SPDX: Convert all of our single license tags to Linux Kernel style · 83d290c5
      Tom Rini authored
      
      When U-Boot started using SPDX tags we were among the early adopters and
      there weren't a lot of other examples to borrow from.  So we picked the
      area of the file that usually had a full license text and replaced it
      with an appropriate SPDX-License-Identifier: entry.  Since then, the
      Linux Kernel has adopted SPDX tags and they place it as the very first
      line in a file (except where shebangs are used, then it's second line)
      and with slightly different comment styles than us.
      
      In part due to community overlap, in part due to better tag visibility
      and in part for other minor reasons, switch over to that style.
      
      This commit changes all instances where we have a single declared
      license in the tag as both the before and after are identical in tag
      contents.  There's also a few places where I found we did not have a tag
      and have introduced one.
      
      Signed-off-by: default avatarTom Rini <trini@konsulko.com>
      83d290c5
  6. Aug 05, 2015
  7. Feb 24, 2015
    • Masahiro Yamada's avatar
      kconfig: switch to single .config configuration · e02ee254
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      When Kconfig for U-boot was examined, one of the biggest issues was
      how to support multiple images (Normal, SPL, TPL).  There were
      actually two options, "single .config" and "multiple .config".
      After some discussions and thought experiments, I chose the latter,
      i.e. to create ".config", "spl/.config", "tpl/.config" for Normal,
      SPL, TPL, respectively.
      
      It is true that the "multiple .config" strategy provided us the
      maximum flexibility and helped to avoid duplicating CONFIGs among
      Normal, SPL, TPL, but I have noticed some fatal problems:
      
      [1] It is impossible to share CONFIG options across the images.
        If you change the configuration of Main image, you often have to
        adjust some SPL configurations correspondingly.  Currently, we
        cannot handle the dependencies between them.  It means one of the
        biggest advantages of Kconfig is lost.
      
      [2] It is too painful to change both ".config" and "spl/.config".
        Sunxi guys started to work around this problem by creating a new
        configuration target.  Commit cbdd9a97 (sunxi: kconfig: Add
        %_felconfig rule to enable FEL build of sunxi platforms.) added
        "make *_felconfig" to enable CONFIG_SPL_FEL on both images.
        Changing the configuration of multiple images in one command is a
        generic demand.  The current implementation cannot propose any
        good solution about this.
      
      [3] Kconfig files are getting ugly and difficult to understand.
        Commit b724bd7d (dm: Kconfig: Move CONFIG_SYS_MALLOC_F_LEN to
        Kconfig) has sprinkled "if !SPL_BUILD" over the Kconfig files.
      
      [4] The build system got more complicated than it should be.
        To adjust Linux-originated Kconfig to U-Boot, the helper script
        "scripts/multiconfig.sh" was introduced.  Writing a complicated
        text processor is a shell script sometimes caused problems.
      
      Now I believe the "single .config" will serve us better.  With it,
      all the problems above would go away.  Instead, we will have to add
      some CONFIG_SPL_* (and CONFIG_TPL_*) options such as CONFIG_SPL_DM,
      but we will not have much.  Anyway, this is what we do now in
      scripts/Makefile.spl.
      
      I admit my mistake with my apology and this commit switches to the
      single .config configuration.
      
      It is not so difficult to do that:
      
       - Remove unnecessary processings from scripts/multiconfig.sh
        This file will remain for a while to support the current defconfig
        format.  It will be removed after more cleanups are done.
      
       - Adjust some makefiles and Kconfigs
      
       - Add some entries to include/config_uncmd_spl.h and the new file
         scripts/Makefile.uncmd_spl.  Some CONFIG options that are not
         supported on SPL must be disabled because one .config is shared
         between SPL and U-Boot proper going forward.  I know this is not
         a beautiful solution and I think we can do better, but let's see
         how much we will have to describe them.
      
       - update doc/README.kconfig
      
      More cleaning up patches will follow this.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      e02ee254
  8. Oct 27, 2014
  9. Oct 23, 2014
  10. Sep 24, 2014
    • Simon Glass's avatar
      Reactivate the tracing feature · b8450521
      Simon Glass authored
      
      This was lost sometime in the Kbuild conversion. Add it back.
      
      Check that the trace test now passes:
      
      $ ./test/trace/test-trace.sh
      Simple trace test / sanity check using sandbox
      
      /tmp/filemHKPGw
      Build sandbox
      O=sandbox FTRACE=1
        GEN     /home/sjg/c/src/third_party/u-boot/files/sandbox/Makefile
      Configuring for sandbox board...
      Check results
      Test passed
      
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      b8450521
  11. Jul 30, 2014
    • Masahiro Yamada's avatar
      kconfig: switch to Kconfig · 51148790
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      This commit enables Kconfig.
      Going forward, we use Kconfig for the board configuration.
      mkconfig will never be used. Nor will include/config.mk be generated.
      
      Kconfig must be adjusted for U-Boot because our situation is
      a little more complicated than Linux Kernel.
      We have to generate multiple boot images (Normal, SPL, TPL)
      from one source tree.
      Each image needs its own configuration input.
      
      Usage:
      
      Run "make <board>_defconfig" to do the board configuration.
      
      It will create the .config file and additionally spl/.config, tpl/.config
      if SPL, TPL is enabled, respectively.
      
      You can use "make config", "make menuconfig" etc. to create
      a new .config or modify the existing one.
      
      Use "make spl/config", "make spl/menuconfig" etc. for spl/.config
      and do likewise for tpl/.config file.
      
      The generic syntax of configuration targets for SPL, TPL is:
      
        <target_image>/<config_command>
      
      Here, <target_image> is either 'spl' or 'tpl'
            <config_command> is 'config', 'menuconfig', 'xconfig', etc.
      
      When the configuration is done, run "make".
      (Or "make <board>_defconfig all" will do the configuration and build
      in one time.)
      
      For futher information of how Kconfig works in U-Boot,
      please read the comment block of scripts/multiconfig.py.
      
      By the way, there is another item worth remarking here:
      coexistence of Kconfig and board herder files.
      
      Prior to Kconfig, we used C headers to define a set of configs.
      
      We expect a very long term to migrate from C headers to Kconfig.
      Two different infractructure must coexist in the interim.
      
      In our former configuration scheme, include/autoconf.mk was generated
      for use in makefiles.
      It is still generated under include/, spl/include/, tpl/include/ directory
      for the Normal, SPL, TPL image, respectively.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Acked-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      51148790
  12. Jul 07, 2014
    • Masahiro Yamada's avatar
      build: define CPU only when arch/${ARCH}/cpu/${CPU} exists · a8b0f9b6
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      The directory arch/${ARCH}/cpu/${CPU} does not exist
      in avr32, blackfin, microblaze, nios2, openrisc, sandbox, x86.
      
      These architectures have only one CPU type.
      Defining CPU should not be required for such architectures.
      
      This commit allows cpu field (= the 3rd field of boards.cfg)
      to be kept blank.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Cc: Andreas Bießmann <andreas.devel@googlemail.com>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Sonic Zhang <sonic.zhang@analog.com>
      Cc: Michal Simek <michal.simek@xilinx.com>
      Cc: Thomas Chou <thomas@wytron.com.tw>
      Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
      a8b0f9b6
  13. Mar 12, 2014
    • Masahiro Yamada's avatar
      kbuild: rename SRCTREE to srctree · 01286329
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      Prior to Kbuild, $(TOPDIR) or $(SRCTREE) was used for
      pointing to the top of source directory.
      (No difference between the two.)
      
      In Kbuild style, $(srctree) is used for instead.
      This commit renames SRCTREE to srctree and deletes the
      defition of SRCTREE.
      
      Note that SRCTREE in scripts/kernel-doc, scripts/docproc.c,
      doc/DocBook/Makefile should be keep.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      01286329
    • Masahiro Yamada's avatar
      kbuild: rename TOPDIR to stctree · 4379ac61
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      Prior to Kbuild, $(TOPDIR) or $(SRCTREE) was used for
      pointing to the top of source directory.
      (No difference between the two.)
      
      In Kbuild style, $(srctree) is used instead.
      This commit renames TOPDIR to srctree and delete the
      defition of TOPDIR.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      4379ac61
  14. Mar 07, 2014
    • Masahiro Yamada's avatar
      kbuild: improve Kbuild speed · 026f9cf2
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      Kbuild brought about many advantages for us but a significant
      performance regression was reported by Simon Glass.
      
      After some discussions and analysis, it turned out
      its main cause is in $(call cc-option,...).
      
      Historically, U-Boot parses all config.mk
      (arch/*/config.mk and board/*/config.mk)
      every time descending into subdirectories.
      That means cc-options are evaluated over and over again.
      
      $(call cc-option,...) is useful but costly.
      So we want to evaluate them only in ./Makefile
      and spl/Makefile and export compiler flags.
      
      This commit changes the build system as follows:
      
        - Modify scripts/Makefile.build to not include config.mk
          Instead, add $(PLATFORM_CPPFLAGS) to asflags-y, ccflags-y,
          cppflags-y.
      
        - Export many variables
          Going forward, Kbuild will not parse config.mk files
          when it descends into subdirectories.
          If we want to set variables in config.mk and use them
          in subdirectories, they must be exported.
      
          This is the list of variables to get exported:
            PLATFORM_CPPFLAGS
            CPUDIR
            BOARDDIR
            OBJCOPYFLAGS
            LDFLAGS
            LDFLAGS_FINAL
              (used in nand_spl/board/*/*/Makefile)
            CONFIG_STANDALONE_LOAD_ADDR
              (used in examples/standalone/Makefile)
            SYM_PREFIX
              (used in examples/standalone/Makefile)
            RELFLAGS
              (used in examples/standalone/Makefile)
      
        - Delete CPPFLAGS
          This variable has been replaced with PLATFORM_CPPFLAGS
      
        - Copy gcclibdir from example/standalone/Makefile
          to arch/sparc/config.mk
          The reference in CONFIG_STANDALONE_LOAD_ADDR must be
          resolved before it is exported.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Reported-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Acked-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Tested-by: Simon Glass <sjg@chromium.org> [on Sandbox]
      Tested-by: Stephen Warren <swarren@nvidia.com> [on Tegra]
      026f9cf2
  15. Mar 04, 2014
  16. Feb 25, 2014
  17. Feb 19, 2014
    • Masahiro Yamada's avatar
      kbuild: move include directives of board configuration files · 01072b44
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      This commit changes the location of include directives
      of board configuration files.
      
      The purpose of this change is:
       - Slim down $(TOPDIR)/config.mk
       - Prevent $(TOPDIR)/Makefile from including the same
          configuration file twice
       - Do not include include/config.mk multiple times
          because ARCH, CPU, BOARD, VENDOR, SOC are exported
      
      Before this commit:
      
       - include/autoconf.mk was included from $(TOPDIR)/Makefile
         and $(TOPDIR)/config.mk
         (This means $(TOPDIR)/Makefile included include/autoconf.mk twice)
      
       - include/{spl,tpl}-autoconf.mk was included from $(TOPDIR)/config.mk
      
       - include/config.mk was included from $(TOPDIR)/Makefile
         and $(TOPDIR)/config.mk
         (This means $(TOPDIR)/Makefile included include/config.mk twice)
      
      After this commit:
      
       - include/autoconf.mk is included from $(TOPDIR)/Makefile
         and $(TOPDIR)/scripts/Makefile.build
      
       - include/{spl,tpl}-autoconf.mk is included from $(TOPDIR)/spl/Makefile
         and $(TOPDIR)/scripts/Makefile.build
      
       - include/config.mk is included from $(TOPDIR)/config.mk and
         $(TOPDIR)/spl/Makefile
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      01072b44
    • Masahiro Yamada's avatar
      kbuild: use Linux Kernel build scripts · 6825a95b
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      Now we are ready to switch over to real Kbuild.
      
      This commit disables temporary scripts:
        scripts/{Makefile.build.tmp, Makefile.host.tmp}
      and enables real Kbuild scripts:
        scripts/{Makefile.build,Makefile.host,Makefile.lib}.
      
      This switch is triggered by the line in scripts/Kbuild.include
        -build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build.tmp obj
        +build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj
      
      We need to adjust some build scripts for U-Boot.
      But smaller amount of modification is preferable.
      
      Additionally, we need to fix compiler flags which are
      locally added or removed.
      
      In Kbuild, it is not allowed to change CFLAGS locally.
      Instead, ccflags-y, asflags-y, cppflags-y,
      CFLAGS_$(basetarget).o, CFLAGS_REMOVE_$(basetarget).o
      are prepared for that purpose.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Tested-by: default avatarGerhard Sittig <gsi@denx.de>
      6825a95b
    • Masahiro Yamada's avatar
      kbuild: change out-of-tree build · 9e414032
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      This commit changes the working directory
      where the build process occurs.
      
      Before this commit, build process occurred under the source
      tree for both in-tree and out-of-tree build.
      
      That's why we needed to add $(obj) prefix to all generated
      files in makefiles like follows:
        $(obj)u-boot.bin:  $(obj)u-boot
      
      Here, $(obj) is empty for in-tree build, whereas it points
      to the output directory for out-of-tree build.
      
      And our old build system changes the current working directory
      with "make -C <sub-dir>" syntax when descending into the
      sub-directories.
      
      On the other hand, Kbuild uses a different idea
      to handle out-of-tree build and directory descending.
      
      The build process of Kbuild always occurs under the output tree.
      When "O=dir/to/store/output/files" is given, the build system
      changes the current working directory to that directory and
      restarts the make.
      
      Kbuild uses "make -f $(srctree)/scripts/Makefile.build obj=<sub-dir>"
      syntax for descending into sub-directories.
      (We can write it like "make $(obj)=<sub-dir>" with a shorthand.)
      This means the current working directory is always the top
      of the output directory.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Tested-by: default avatarGerhard Sittig <gsi@denx.de>
      9e414032
    • Masahiro Yamada's avatar
      Makefile: move some flags to examples makefiles · d9580025
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      This commit moves some flags which are used
      under examples/ directory only.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      d9580025
    • Masahiro Yamada's avatar
      Makefile: move some flags to spl/Makefile · e0d5d9f8
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      Some flags are used for SPL (and TPL) build only.
      This commit moves them from config.mk to spl/Makefile.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      e0d5d9f8
    • Masahiro Yamada's avatar
      Makefile: move more stuff to top Makefile · ced0715d
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      ced0715d
    • Masahiro Yamada's avatar
      Makefile: refactor include path settings · fea1ca8e
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      This commit merges commonly-used header include paths
      to UBOOTINCLUDE and NOSTDINC_FLAGS variables, which are placed
      at the top Makefile.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      fea1ca8e
    • Masahiro Yamada's avatar
      Makefile: move more flags to the top Makefile · 2b3c9d3d
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      Before this commit, most of compiler flags were defined in config.mk.
      But it is redundant because config.mk is included from all recursive make.
      
      This commit moves many complier flags to the top Makefile
      and export them.
      And we use new vaiarables to store them:
      KBUILD_CPPFLAGS, KBUILD_CFLAGS, KBUILD_AFLAGS.
      This will allow us to switch more smoothly to Kbuild.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      2b3c9d3d
    • Masahiro Yamada's avatar
      kbuild: Use Kbuild.include · bf4b3de1
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      This commit adjusts some files to use Kbuild.include.
      
       - Use cc-option defined in Kbuild.include
          (Delete cc-option in config.mk)
       - Use cc-version defined in
          (Delete cc-version in config.mk)
       - Move binutils-version and dtc-version to Kbuild.include
           by analogy to cc-version
      
      This commit also adds srctree (same as SRCTREE)
      to use Kbuild scripts.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      bf4b3de1
    • Masahiro Yamada's avatar
      Makefile: move BFD_ROOT_DIR to tools/gdb/Makefile · 34bd0507
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      BFD_ROOT_DIR is used only in tools/gdb/Makefile
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      34bd0507
    • Masahiro Yamada's avatar
      Makefile: move some variable definitions to the top Makefile · f6322eb7
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      This commit moves some variable definitions from config.mk
      to the top Makefile:
      
        - HOSTCC, HOSTCFLAGS, HOSTLDFLAGS
        - AS, LD, CC, CPP, etc.
        - SHELL (renamed to CONFIG_SHELL)
      
      I'd like to slim down config.mk file
      because it is included from all recursive make.
      It is redundant to re-define the variables
      every time descending into sub directories.
      We should rather define them at the top Makefile
      and export them.
      
      U-Boot makefiles has been used "SHELL" variable to store shell
      chosen for the user, whereas Linux Kernel uses "CONFIG_SHELL".
      
      We should never use "SHELL" variable because it is
      a special variable for GNU Make.
      Changing SHELL may cause unpredictable side effects
      whose root cause is usually difficult to find.
      We should use a generic variable name "CONFIG_SHELL".
      
      We should not use the syntax as follows either:
      
          rm -f $(obj)tools/env/{fw_printenv,fw_setenv}
      
      This depends on "bash" although GNU Make generally
      invokes "sh" to run the each rule.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      f6322eb7
    • Masahiro Yamada's avatar
      Makfile: move suffix rules to Makefile.build · 5651ccff
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      This commit moves suffix rules from config.mk
      to scripts/Makefile.build, which will allow us
      to switch smoothly to real Kbuild.
      
      Note1:
      post/lib_powerpc/fpu/Makefile has
      its own rule to compile C sources.
      We need to tweak it to keep the same behavior.
      
      Note2:
      There are two file2 with the same name:
      arch/arm/lib/crt0.S and eamples/api/crt0.S.
      To keep the same build behavior,
      examples/api/Makefile also has to be treaked.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      5651ccff
    • Masahiro Yamada's avatar
      tools: convert makefiles to kbuild style · 940db16d
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      Before this commit, makefiles under tools/ directory
      were implemented with their own way.
      
      This commit refactors them by using "hostprogs-y" variable.
      
      Several C sources have been added to wrap other C sources
      to simplify Makefile.
      For example, tools/crc32.c includes lib/crc32.c
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      940db16d
  18. Jan 29, 2014
  19. Dec 13, 2013
    • Masahiro Yamada's avatar
      Makefile: Move some scripts imported from Linux · dd88ab32
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      We have some scripts imported from Linux Kernel:
      setlocalversion, checkstack.pl, checkpatch.pl, cleanpatch
      
      They are located under tools/ directory in U-Boot now.
      But they were originally located under scripts/ directory
      in Linux Kernel.
      
      This commit moves them to the original location.
      
      It is true that binutils-version.sh and dtc-version.sh
      do not originate in Linux Kernel, but they should
      be moved by analogy to gcc-version.sh.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      dd88ab32
  20. Nov 21, 2013
    • Simon Glass's avatar
      sandbox: Use system headers first for sandbox's os.c · cbe5cdfc
      Simon Glass authored
      
      This file must be compiled with system headers, even if U-Boot has headers
      of the same name. The existing solution for this is good enough for libfdt,
      but fails when we have headers like stdint.h in U-Boot.
      
      Use -idirafter instead of -I, and remove the -nostdinc and other things
      that we don't want for this file. The best way to do this is to keep a
      copy of the original flags, rather than trying to filter them later.
      
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      cbe5cdfc
  21. Nov 17, 2013
  22. Nov 08, 2013
  23. Oct 14, 2013
  24. Sep 06, 2013
    • Masahiro Yamada's avatar
      cam_enc_4xx: Move CONFIG_SPL_PAD_TO to a config header · 1affd4d4
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      For most boards which define CONFIG_SPL_PAD_TO,
      it is defined in config header files.
      Currently, there exists only one exception, cam_enc_4xx board.
      
      This patch moves CONFIG_SPL_PAD_TO definition
      from board/ait/cam_enc_4xx/config.mk
      to include/configs/cam_enc_4xx.h.
      
      With this modification, we can delete a glue code
      in the top level config.mk:
      
      ifneq ($(CONFIG_SPL_PAD_TO),)
      CPPFLAGS += -DCONFIG_SPL_PAD_TO=$(CONFIG_SPL_PAD_TO)
      endif
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      Cc: Heiko Schocher <hs@denx.de>
      1affd4d4
    • Masahiro Yamada's avatar
      config.mk: Delete unnecessary code · cb4ef5ba
      Masahiro Yamada authored and Tom Rini's avatar Tom Rini committed
      
      Currently no makefiles (board-specific config.mk)
      set the following variables:
      
      CONFIG_SPL_TEXT_BASE
      CONFIG_UBOOT_PAD_TO
      CONFIG_RESET_VECTOR_ADDRESS
      CONFIG_TPL_PAD_TO
      
      For all target boards using above macros
      they are set in header files (include/configs/*.h),
      so we do not need to set them as CPPFLAGS.
      
      Signed-off-by: default avatarMasahiro Yamada <yamada.m@jp.panasonic.com>
      cb4ef5ba
  25. Aug 31, 2013
    • Marek Vasut's avatar
      ARM: mxs: tools: Add mkimage support for MXS bootstream · bce88370
      Marek Vasut authored and Stefano Babic's avatar Stefano Babic committed
      Add mkimage support for generating and verifying MXS bootstream.
      The implementation here is mostly a glue code between MXSSB v0.4
      and mkimage, but the long-term goal is to rectify this and merge
      MXSSB with mkimage more tightly. Once this code is properly in
      U-Boot, MXSSB shall be deprecated in favor of mkimage-mxsimage
      support.
      
      Note that the mxsimage generator needs libcrypto from OpenSSL, I
      therefore enabled the libcrypto/libssl unconditionally.
      
      MXSSB: http://git.denx.de/?p=mxssb.git;a=summary
      
      The code is based on research presented at:
      http://www.rockbox.org/wiki/SbFileFormat
      
      
      
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Tom Rini <trini@ti.com>
      Cc: Fabio Estevam <fabio.estevam@freescale.com>
      Cc: Stefano Babic <sbabic@denx.de>
      Cc: Otavio Salvador <otavio@ossystems.com.br>
      bce88370
Loading