1. 28 Oct, 2016 1 commit
    • Rusty Russell's avatar
      jmap: fix tools/speed · 8b83ecf3
      Rusty Russell authored
      Minor fixes on top of patch from rocco@tecsiel.it:
      
      Hi Rusty,
      latest git version of the file ccan/jmap/tools/speed.c does not
      compile.
      
      Please find attacched my own version with the following differences:
      
        1. deleted inclusion of <ccan/jmap/jmap_type.h> which is no longer in ccan/
      
        2. added inclusion of <ccan/time/time.h>
      
        3. added definition of struct jmap_obj in terms of JMAP_MEMBERS();
      
        4. deleted use of macro JMAP_DEFINE_UINTIDX_TYPE() which is no longer needed
      
        5. changed function normalize() to be aligned with ccan/htable/tools/speed.c
      
        6. repleaced gettimeofday() in favour of time_now()
      
        7. added memory cleanup at the end of the program in terms of
             jmap_free(jmap);
             free(objs);
           to be valgrind safe
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      8b83ecf3
  2. 25 Oct, 2016 6 commits
  3. 30 Sep, 2016 7 commits
    • Kevin Locke's avatar
      Add appveyor.yml · 280c917d
      Kevin Locke authored
      This file defines the AppVeyor CI (appveyor.com) settings.
      
      It builds using make+bash under MSYS2 so that the current build system
      can be used with minimal changes.  It currently only builds configurator
      and generates config.h.
      
      The build and test commands for more thorough testing are left as
      comments in appveyor.yml so interested parties can use them as a
      starting point for future work.
      
      Note that several compiler errors not related to configurator are
      printed due to make attempting to generate and include test-depends.
      Although Windows-specific code could be added to Makefile to avoid
      these, it seemed unwarranted if the compile errors may be fixed soon.
      
      Changes since v2:
      - Add reference to AppVeyor results for canonical repo and basic
        instructions to setup AppVeyor for forks.
      Signed-off-by: default avatarKevin Locke <kevin@kevinlocke.name>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      280c917d
    • Kevin Locke's avatar
      Makefile: Define CFLAGS_FORCE_C_SOURCE macro · 0c98cff8
      Kevin Locke authored
      This macro holds the C compiler flag(s) to force input files to be
      recognized as C sources regardless of extension.  It is defined to allow
      overriding on the make command line.
      Signed-off-by: default avatarKevin Locke <kevin@kevinlocke.name>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      0c98cff8
    • Kevin Locke's avatar
      configurator: DEFAULT_{COMPILER, FLAGS} for MSVC · f15904b6
      Kevin Locke authored
      When compiling with Visual Studio, use default compiler name and flags
      which are likely to work with the known-available compiler.
      
      This is also a convenience for users who may not know what arguments
      cl.exe may need to compile the tests.
      
      Changes since v1:
      - Use "-option" instead of "/option" to avoid issues running under msys.
      - Disable C4200 warning for use of flexible array members, which MSVC
        considers an extension (since it does not fully support C99).
      Signed-off-by: default avatarKevin Locke <kevin@kevinlocke.name>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      f15904b6
    • Kevin Locke's avatar
      configurator: Add output cflag option and macro · aacc2cb8
      Kevin Locke authored
      Unfortunately, not all compilers support -o as a command-line option for
      specifying the output file.  Visual Studio cl.exe issues warning D9035
      when -o is given, which is detected as a compile warning by the
      configurator.
      
      To support such compilers, add the command-line option -O to
      configurator which can be used to specify the cflag for setting the
      output executable file name.  Additionally define the macro
      CCAN_OUTPUT_EXE_CFLAG in config.h and use it when invoking the compiler
      (e.g.  from ccanlint).
      
      For reference, the name CCAN_OUTPUT_EXE_CFLAG was chosen to avoid
      potential name conflicts in the future due to cl.exe requiring different
      flags for different types of output[1] (e.g. object files are /Fo:).
      
      1.  https://msdn.microsoft.com/en-us/library/f1cb223a.aspxSigned-off-by: default avatarKevin Locke <kevin@kevinlocke.name>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      aacc2cb8
    • Kevin Locke's avatar
      configurator: Print test source without cat · fcdcba92
      Kevin Locke authored
      Windows does not provide cat.  Instead, copy the test source to stdout
      using the file stream to which it was written.
      
      Changes since v1:
      - Create fwrite_noeintr to avoid EINTR in fwrite without writing any
        data.
      - Handle short reads from fread.  This can happen with non-conformant
        libc or if EINTR occurs after reading some data.
      - Handle short writes from fwrite.  This can happen with non-conformant
        libc or if EINTR occurs after writing some data.
      
      Changes since v2:
      - Revert fwrite_noeintr and short read/write changes.
      Signed-off-by: default avatarKevin Locke <kevin@kevinlocke.name>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      fcdcba92
    • Kevin Locke's avatar
      configurator: Inline err.h functions · 888660c3
      Kevin Locke authored
      On systems where err.h is not provided (e.g. MSVC) configurator must
      provide its own definition.  The err module can not be used by
      configurator due to its dependency on config.h, so the relevant source
      is copied into configurator with the minimum changes necessary.
      
      Changes since v2:
      - Use the CCAN err module sources instead of musl libc sources to avoid
        introducing another implementation of these functions.
      - Prefix err.h functions with "c12r_" to avoid name conflicts and
        "static declaration follows non-static" errors.
      Signed-off-by: default avatarKevin Locke <kevin@kevinlocke.name>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      888660c3
    • Kevin Locke's avatar
      configurator: Reimplement run using popen · 93992ee3
      Kevin Locke authored
      Rather than using fork+pipe+system+waitpid, most of which are only
      available on POSIX-like systems, use popen which is also available on
      Windows (under the name _popen).
      
      Changes since v1:
      - Create fread_noeintr to avoid EINTR in fread without reading any data.
      - Handle short reads from fread.  This can happen with non-conformant
        libc or if EINTR occurs after reading some data.
      - Define _POSIX_C_SOURCE for popen/pclose with strict implementations
        which require it (e.g. gcc with -std=c11).
      
      Changes since v2:
      - Revert fread_noeintr and short read changes in v1 as unnecessary.
      Signed-off-by: default avatarKevin Locke <kevin@kevinlocke.name>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      93992ee3
  4. 29 Sep, 2016 1 commit
  5. 28 Sep, 2016 1 commit
  6. 27 Sep, 2016 8 commits
  7. 21 Sep, 2016 1 commit
  8. 08 Sep, 2016 4 commits
  9. 07 Sep, 2016 1 commit
  10. 31 Aug, 2016 1 commit
    • Jon Griffiths's avatar
      Add a SHA512 implementation · 5e37a0fe
      Jon Griffiths authored
      This largely follows the SHA256 style. I've named Rusty as the maintainer.
      
      Currently the functions to add data of various sizes/endianness have not
      been implemented: There are no public test vectors for these cases and
      I believe most use cases are working on byte buffers. They can be added
      later if desired.
      
      The openssl implementation has been tested on x86-64, while the inbuilt
      version has been tested on 32/64 bit, little/big endian boxes.
      Signed-off-by: default avatarJon Griffiths <jon_p_griffiths@yahoo.com>
      5e37a0fe
  11. 30 Aug, 2016 5 commits
  12. 29 Aug, 2016 4 commits