Contribute
Register

Native DSDT/AML IDE & Compiler: MaciASL Open Beta

Status
Not open for further replies.
for those wanting the newest versions, I have updated the wiki. The older but in some ways stabler iasl5 required a few more patches. The current "OSX" version gets a couple things wrong.
July's version has also been uploaded for use with the app's updater.

OK, I was able to compile iasl5 with the updated instructions, but I ran into problems trying to compile iasl4. First of all, are they both built from the same source tree, or do I need to download something else besides the tarball from acpica.org? You mention grabbing some files from the latest version of acpi-utils, but I couldn't find any project by that name (either by searching Google or Github). So I tried just skipping those bits, but the sed patch in the iasl4 instructions on the wiki is trying to patch a nonexistent file (compiler/Makefile).

Sorry to be such a pain.
 
acpi-utils is/was the name of the acpica package. If you want to know what iasl5 and iasl4 are, just check MaciASL's iASL tab in Preferences, the version numbers are given in the signon "Current Compiler". In a larger sense, the iasl4 version was the last before ACPI 5.0 was supported. The "files mentioned above" are the `cp` lines.
 
Version 1.3 is now up, due to the severity of some of the fixes.
 
@SJ...

Don't know if you noticed this, but it seems newer versions of iasl (ACPI 5) appear to be writing output to stdout (instead of stderr) when executed from MaciASL. This results in no error/warnings displayed in the output window after a compile because MaciASL expects it to send to stderr instead of stdout (it reads from stdout for iasl4 and stderr for iasl5).

I fixed it in my repo just by reading from both:
Code:
Speedy-ML:maciasl.git Admin$ git diff
diff --git a/MaciASL/iASL.m b/MaciASL/iASL.m
index 38a3188..97fe39d 100644
--- a/MaciASL/iASL.m
+++ b/MaciASL/iASL.m
@@ -140,7 +140,10 @@ static NSString *bootlog;
     path = [path.stringByDeletingPathExtension stringByAppendingPathExtension:@"aml"];
     NSMutableArray *temp = [NSMutableArray array];
     Notice *notice;
-    for (NSString *line in ([NSUserDefaults.standardUserDefaults integerForKey:@"acpi"] == 4)?compile.task.stdOut:compile.task.stdErr)
+    for (NSString *line in compile.task.stdOut)
+        if ((notice = [Notice create:line]))
+            [temp addObject:notice];
+    for (NSString *line in compile.task.stdErr)
         if ((notice = [Notice create:line]))

It is a little less 'brittle' that way...
 
only if you're compiling iasl without my wiki instructions, see http://sourceforge.net/p/maciasl/wiki/Compiling iASL/ Separation of the two streams is still important, not to mention the importance of consistency over previous releases.

You're patching iasl?

Edit:
I see what you're doing there... making the -vi option not redirect errors to stdout (where they would normally go)...
That's fine but it seems just as easy to parse both the stdout and stderr output...
 
You're forgetting that this is a very recent change which they made, not me. Since MaciASL is already out, there can't be a version dependency where only certain released versions of the app work with certain versions of iasl5. How would this be communicated to the user? The `sed` command won't make changes on builds it doesn't apply to, which resolves the issue. I'm not happy with these changes, but historical compatibility is important.
 
You're forgetting that this is a very recent change which they made, not me. Since MaciASL is already out, there can't be a version dependency where only certain released versions of the app work with certain versions of iasl5. How would this be communicated to the user? The `sed` command won't make changes on builds it doesn't apply to, which resolves the issue. I'm not happy with these changes, but historical compatibility is important.

I believe my changes (above) will work with any iasl... new... old... patched... or not patched.
The code simply doesn't care whether the output goes to stderr or stdout...

Please correct me if I'm wrong. Thanks!
 
Status
Not open for further replies.
Back
Top