Age | Commit message (Collapse) | Author | Files | Lines |
|
Fix Ubuntu 15.10 Build break
|
|
|
|
We need to skip generating native image for mscorlib in build_mscorlib()
of ./coreclr/build.sh when we do cross build for Linux/ARM on Ubuntu
14.04 x86 64bit PC.
Signed-off-by: Geunsik Lim geunsik.lim@samsung.com
Signed-off-by: Prajwal A N an.prajwal@samsung.com
Signed-off-by: MyungJoo Ham myungjoo.ham@samsung.com
|
|
Let's remove rest Distro/OSes to keep only the Distro/OS that have been tested
until someone actually start using/testing CoreCLR on RHEL, Debian, OSX, and so on.
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
|
|
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
|
|
The last remaining dependency on mono was to use the resgen
implementation since cross platform we don't have a version of
ResGen.exe. While MSBuild and dotnet-resgen can both convert txt files
into resources, neither of them understand the #if syntax we use in
mscorlib.txt to allow us to remove resources if features of the runtime
are not enabled.
Since we already have a dependency on Python, I've added a dead simple
script that understands the limited preprocessor features we support
and pre-processes the text file. We can then pass that preprocessed file
to MSBuild which will handle converting it to a .resources file.
[tfs-changeset: 1579180]
|
|
|
|
This will allow to pass user-defined CMake arguments.
One of the users is pkgsrc, which defines it to following example string:
-DPYVERSSUFFIX:STRING=2.7 -DCMAKE_INSTALL_PREFIX:PATH=/usr/pkg \
-DCMAKE_MODULE_PATH:PATH=/tmp/pkgsrc-tmp/wip/coreclr-git/work/.buildlink/cmake-Modules \
-DCMAKE_SKIP_RPATH:BOOL=TRUE -DCMAKE_INSTALL_LIBDIR:PATH=lib \
-DCMAKE_INSTALL_MANDIR:PATH=man
Without these values unmodified build.sh won't integrate with pkgsrc as
expected.
Solution suggested by Jan Vorli (Microsoft)
While there, there was need to alter loop type to handle options passed to
arguments. As a bonus, new loop should be POSIX confirming.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fix incremental build
|
|
NetBSD: Add support for retrieving the number of available CPUs
|
|
Conflicts:
build.sh
|
|
$ uname
NetBSD
$ getconf NPROCESSORS_ONLN
2
$ getconf _NPROCESSORS_ONLN
getconf: _NPROCESSORS_ONLN: unknown variable
|
|
This allows to overload the default 'python' executable name and is used
on NetBSD with pkgsrc, where python is either python2.7 or python3.x.
|
|
These options allow the developer to either:
1. Run build configuration without actually running the build, or
2. Skip build configuration when running the build.
CMake already adds the various CMakeLists.txt files as build
dependencies s.t. it will be automatically re-run when necessary.
|
|
Fix some typos. Make it more readable.
|
|
1. Change logging verbosity so there is much, much less noise on the screen. All the build output is still logged to a .log file.
2. Add separate .wrn and .err log files to capture warning and error output.
3. Add "skipmscorlib" option to skip the mscorlib build steps.
4. Add "skipnative" option to skip the native components build steps.
5. Change the "skiptestbuild" option to "skiptests" to match build.sh. Continue accepting "skiptestbuild" for backwards compatibility.
6. Change the "skipcoreclr" option in build.sh to "skipnative" to match build.cmd. Continue accepting "skipcoreclr" for backwards compatibility.
7. Add "msbuildargs" option to pass all remaining arguments directly to msbuild.
8. Add "sequential" option to build sequentially (disable parallel builds). One use: this simplifies reading the build logs.
9. Update the Usage output to be correct, and easier to understand.
10. Regularize script output; most lines now have a "BUILD:" prefix, so you know where they are coming from.
11. Restructure and simplified the script to be more readable and easier to modify in the future.
12. Added support for setting __echo=1 to see what the script is doing, line-by-line.
13. Added additional ways to view the usage screen (-? /h -h /help -help)
|
|
|
|
required for Event Logging
will be generated as part of build
|
|
Enable checked builds of CoreCLR.
|
|
In checked builds coreclr, mscorlib, and the test are built optimized
but assertion checking is on. This adds additional coverage (the jit is
optimizing and assertion checking is on), speeds up testing compared to debug,
and allows testing JIT stress modes.
This doesn't affect CoreFX.
Several tests are currently failing in checked configuration due to newly
discovered bugs (JIT asserts). We didn't see these asserts in debug mode
because by default JIT is in minopt mode; we didn't see these bugs in release
mode because assertion checking is off. I will file the bugs once checked build
changes are in.
|
|
|
|
Build script now use current platform to compile
|
|
No need to specify the architecture to compile on Linux, we use
"uname -p" to infer it.
Removed __MSBuildBuildArch which was not really used, we can use
__BuildArch instead.
Added warning for x86.
|
|
Use 0 instead of false since later we compare it with 1.
|
|
Just what it says on the tin.
|
|
Currently, building coreclr x-plat fails if not running as root due to
the build trying to copy files to "/ToolRuntime". The issue is that
$(IntermediatesOutputRootPath) is not set when running from build.sh,
and testruntime.targets in buildtools defines ToolRuntimePath as
"$(IntermediateOutputRootPath)ToolRuntime\". The fix is to pass
__IntermediatesDir to msbuild in build_mscorlib, which results in
$(IntermediatesOutputRootPath) being properly set.
This change also adds a skipcoreclr flag to allow the user to skip the
CoreCLR part of the build, similar to the existing skipmscorlib flag.
|
|
|
|
|
|
|
|
Add an option in build.sh called 'coverage' to produce gcov-style instrumented builds.
Example usage - ./build.sh debug coverage clean
This will generate the '.gcno' notes files for each object file in the same directory along with the instrumented native binaries. These .gcno files contain some of the coverage data like source line mappings, basic block graphs info etc.
Each time these instrumented binaries are run, a separate .gcda file is created for each object file in the same directory. These .gcda files contain arc transition counts, and some summary information.
Code Coverage reports can be generated from the .gcno and .gcda files using a tool like gcovr or lcov. *But this commit is only for generated the .gcno files while compiling with the 'coverage' option.*
The next steps
- Add option in run-test.sh to generate code-coverage reports using the instrumented native binaries.
- Integrate with Jenkins CI to do code-coverage runs.
|
|
The mscorlib build in build.sh was not correctly flowing __BuildType
into MSBuild, which caused us to always build a Debug mscorlib.
While I was in the area, I removed the defines for OSGroup (which are
unused, as we use __BuildOS instead) and cleaned up some of the property
switches so we always pass prefixed properties (the bare names are the
computed ones from our targets in msbuild).
|
|
Allow mscorlib.dll to be built for non x64 platforms on Linux.
|
|
Initial work to get mscorlib.dll building via Roslyn + MSBuild running
on top of Mono on Linux.
- Use a newer version of BclRewriter.exe which works cross-platform,
the major difference here is that now we need to specify the input
assembly as a named argument instead (since fully qualified paths on
Unix look like flags on Windows).
- The ResGen we use comes from Mono, which does not support the -d
flag, so we need to stop passing defines to ResGen. I know the mono
folks recently did some work to address this, but long term we need
to move towards getting our ResGen.exe running on CoreCLR and use
that instead.
- Don't require that mono is installed in order to build coreclr. If
mono is not on the path, skip the build step to enable folks to do
development without Mono. In this case, they will need to continue
to build mscorlib.dll on Windows, targeting Unix.
- Mono stability has been an issue for folks that have buddy tested
this. I've found that recent mono 4.2 builds, when run with the
Boehm GC work well for me. Other folks have other builds they like
instead. The `skipmscorlib` flag can be passed to build.sh if you
want to skip building mscorlib.dll locally.
|
|
In perperation for supporting mscorlib.dll builds on *NIX, provide a
switch for the CI system to disable building mscorlib as part of the
build, since we pick up the cross compiled Linux version and our mono
seems to crash often in CI.
Once this is checked in we can start having the CI jobs pass this
switch without causing an error, then have a future commit which
enables mscorlib building key off it.
|
|
|
|
|
|
c_runtime/vprintf/test1 is disabled as casting NULL to va_list is
against the C specification.
Fix SetFilePointer tests on 32 bit platforms.
Define _FILE_OFFSET_BITS=64 so that we have long file support on 32 bit
platforms.
Implement context capture/restore for ARM.
Link libgcc_s before libunwind on ARM so C++ exceptions work.
Translate armasm to gas syntax.
Specify Thumb, VFPv3, ARMv7 for the ARM target.
Add ARM configuration to mscorlib build
Implement GetLogicalProcessorCacheSizeFromOS in PAL.
Set UNWIND_CONTEXT_IS_UCONTEXT_T from configure check.
|
|
This modifies the `build.cmd`, `build.sh`, and `buildtest.cmd` to only
remove previous output (binaries, intermediates, and logs) for the
selected configuration when the `clean` argument is specified.
This also modifies `runtest.cmd` to output log files in the same format
as `build.cmd`, `build.sh`, and `buildtest.cmd` do currently.
|
|
|
|
This commit adds two optional arguments to build.sh. The "verbose" option
enables verbose build output. This can be useful to debug build failures by
seeing the complete command line used to invoke the build.
The other option is "clangx.y", which allows to specify the clang version used
for the build. This makes it easy to test different clang versions and aid
future migration to newer clang releases and other platforms. Closes #740
|
|
The help text for build.sh said that you should pass "x64" as a
paramter for the build architecture. However, the script was looking
for amd64. Update the script to look for x64 since that's what we use
everywhere else (and the behavior you got if you didn't pass an
argument to this script.)
Fixes #689
|
|
* binaries is now bin, intermediates is now obj
* modifying unixmscorlib build to instead be linuxmscorlib + osxmscorlib.
* Change OS=Unix to OS=Linux/OS=OSX and modified properties to mimic corefx's TargetsUnix.
|
|
|
|
fix indent
more indent
fix indenting
|