Let me just make a slight correction to my last message, and add some
info...
After removing the "<LangVersion>5</LangVersion>" stuff from the
non-editor related .csproj files,
I found that VS2010 is actually able to open the
"MonoDevelop-LibLSLCC.sln" solution file in the source tree and build
it without any problems.
I'm going to be pushing the changes I made to the .csproj files
shortly, I will probably rename "MonoDevelop-LibLSLCC.sln" to
something like
"LibLSLCC-No-Editor.sln" and update the build instructions in the
README.md to specify that solution as the solution to use for building
the library on Mono.
I have not tested that the editor build is working with anything other
than vs2015, but I will test with the prior versions vs2012+ to see
what all
works, then put some info in the README.md about what IDE's the Editor
portion of the project can be built in.
On Tue, Nov 3, 2015 at 11:53 PM, Eric Blundell <[email protected]
<mailto:[email protected]>> wrote:
Thanks for letting me know about this problem Jak. (See the bottom
for TLDR :P)
I am using vs2015 and WiX 3.10.1, it does indeed seem to be a
problem with vs2010 C#.
I was unable to find an updated download for vs2010 C# to test
with, only an SP1 ISO I found on stackoverflow:
http://stackoverflow.com/questions/6871865/url-for-visual-studio-2010-express-iso
http://go.microsoft.com/?linkid=9709969
I tried installing vs2010, however this version will not attempt
to open my solution files at all as it says they are incompatible.
I can however, load the .csproj files for certain projects in my
build.
I cannot get it to update from SP1, I am unsure if updates are
still available to download for vs2010.
When I try to update, it just directs me to use windows update
which does not seem to find any updates related to it.
=== Why it's not loading ===
With vs2010 SP1, I was only able to load: LibLSLCC.csproj,
lslcc_cmd.csproj and DemoArea.csproj.
LibraryDataScrapingTools was incompatible because it was building
against .NET 4.5.
I downgraded LibraryDataScrapingTools to .NET 4.0 and
re-installed the 'System.Data.Sqlite.Core' package from nuget
using vs2015 in order to make it load in vs2010.
I then made some code changes to make it compatible with .NET 4.0.
I will be committing the changes to LibraryDataScrapingTools
tonight, as this project is supposed to be .NET 4.0 compatible.
The LSLCCEditor related projects I am pretty sure are incompatible
at the moment due to the .NET framework level they require as well.
The code base for LSLCCEditor requires a minimum of .NET 4.5 to
compile, and the code changes required to make the editor projects
compatible with .NET 4.0 are not as trivial as the changes I made
to the LibraryDataScrapingTools project.
I am not sure if I want to limit the LSLCCEditor part of the
project to a .NET 4.0 at the moment, as it is a Windows
only WPF application, and that sort of compatibility profile is
not necessary.
I also noticed when installing WiX v3.10.1 on a Virtual Machine
with vs2010 installed that It does not try to register itself with
vs2010 as a project type.
I do not think the latest version of WiX installer framework
supports vs2010 anymore.
=== How I got LibLSLCC, LibraryDataScrapingTools, lslcc_cmd and
DemoArea to build. ===
After the code changes to LibraryDataScrapingTools and downgrading
the .NET Framework level...
I created a new vs2010 project and added (LibLSLCC,
LibraryDataScrapingTools, lslcc_cmd and DemoArea) as existing
projects.
When trying to build these projects I got the message
"Error1Invalid option '5' for /langversion; must be ISO-1, ISO-2,
3 or Default"
for all of the projects except 'DemoArea'
I resolved this by manually editing the .csproj file for each
non-building project in a text editor, removing the occurrences of:
<LangVersion>5</LangVersion>
That particular MSBuild setting is not necessary for vs2015 or
Mono to build the library anyway, so I am going to remove it and
commit the changes.
After that, LibLSLCC, LibraryDataScrapingTools, lslcc_cmd and
DemoArea were all able to build under vs2010.
===
That all being said, I will be adding a vs2010 compatible
solution file to the repository that contains Projects:
* LibLSLCC,
* lslcc_cmd
* LibraryDataScrapingTools
* DemoArea
So that you can at-least build the library, command line compiler,
library data scraper and demo project with vs2010.
Unfortunately making LSLCCEditor build in vs2010 would require
some non trivial code changes, a new method of triggering the WiX
installer build,
and a downgrade from .NET 4.5 to .NET 4.0 for the editor related
projects.
I'm not sure if I want to make these changes to the Editor portion
of the project just for the sake of being compatible with older
versions of Visual Studio.
On Tue, Nov 3, 2015 at 10:05 AM, Jak Daniels <[email protected]
<mailto:[email protected]>> wrote:
Hi Eric,
Thank you for posting up your work to this group. This all
looks very promising, and I was intrigued to give it a try.
I checked out the source from github and I tried building in
VS C# 2010 express... but only 3 of the projects will load.
LibraryDataScrapingTools, LSLCCEditor,
LSLCCEditor.CompletionUI all say (incompatible) and
LSLCCEditorInstaller says (unavailable) even though I have WIX
3.10.1 installed.
Is this a VS 2010 problem do you think?
I'm a bit loathed to install VS2015 as the last time I
installed VS2013 it just dumped everything onto my SSD c:
drive and filled it up, with no option to put things on drive
D: my large harddrive. It also left a mess behind (more than
50% of itself including MSSQL server stuff) when I tried to
uninstall it. VS2015 might be better now in this respect, but
knowing MS products probably not! I also found VS2013 to be
way, way slower loading up large projects like OpenSimulator
than VS2010. So before I take the possibly irreversible path
of installing VS2015, is there something I can do to make it
load in VS2010 express?
Thanks
Jak
On 02/11/2015 19:24, Eric Blundell wrote:
Hello all.
I am a bit new to OpenSim development (well at-least sharing
stuff I have made..) but for a quite a while now I have been
working on
a new (BSD Licensed) Compilation/Code Generation framework
for LSL, tailored towards usage with OpenSim. I thought I
should share it
at this point of its development.
This is pretty much a "full" or "true" compiler front end.
It's built on-top of ANTLR4 and ANTLR4's CSharp target.
ANTLR4 however has been completely abstracted and the library
provides its own Rich LSL Syntax Tree for users to deal with.
My library includes an OpenSim code generation target which I
have integrated into my OpenSim fork on GitHub, it's
implemented as an
optional compiler that you can enable in your OpenSim.ini.
The Code validation step my library performs when building a
syntax tree implements full front end syntax checking, dead
code detection, the works.
It also emits extended warning information that is standard
to most compilers now days.
The OpenSim code generator I have written and included with
the library drastically improves compatibility with scripts
written for SecondLife.
Order of evaluation in generated code is correct for LSL
(Right to Left) among many other things.
As an example, all of the encryption scripts you can find on
the LSL wiki will compile correctly and execute with correct
behavior using my compiler.
The README.md for the project goes into a bit more detail on
what all the library can do.
My library LibLSLCC is on GitHub here:
https://github.com/EriHoss/LibLSLCC
The project includes an LSL Editor (Windows Only, I used
AvalonEdit) with the project that features code completion
and syntax highlighting.
It can be used to test CSharp code generation for OpenSim by
compiling LSL into C# using LibLSLCC, which can then be
uploaded to an
OpenSim server with C# scripting enabled.
The library itself is cross-platform, but the editor and
editor installer are not. There's a separate project file
for building the library on
mono with monodevelop/xbuild.
===
The OpenSim fork that integrates my compiler is here:
https://github.com/EriHoss/OpenSim_With_LibLSLCC
It includes a few minor bug fixes to XEngine and Runtime
Script functions.
Such as the 'IdleTimeout' setting not being honored properly.
And llParseString2List using culture specific comparisons,
causing it to misbehave when comparing Unicode characters on
Mono.
I have added new attributes to OpenSim's script module
constants/functions and also to ScriptBaseClass.
This is so LibLSLCC can de-serialize the classes into library
data that's consumable by its code validator and code generator.
I have also made some slight changes to IScriptModuleComms
and ScriptModuleCommsModule.
The old compiler in my fork works as it did before, so you
can switch back and forth from LibLSLCC to the old compiler
if you want without any problems.
There are more details on the changes I have made in the
README.md.
==
I started working on this sometime early last year when I
broke my wrist and was unable to do much for a while, and
I have only recently moved the code from my Git server up to
GitHub. I'm going to continue improving this in my spare time,
right now I am doing rolling releases versioned by date
anywhere from once every few days to a few times a day. I am
also keeping my OpenSim fork synced with the latest OpenSim
commits.
Hopefully this will be useful, any feedback is appreciated :)
_______________________________________________
Opensim-dev mailing list
[email protected]
<mailto:[email protected]>
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
_______________________________________________
Opensim-dev mailing list
[email protected]
<mailto:[email protected]>
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev