SIGN IN SIGN UP

Ignore the FLATC_EXECUTABLE env var when empty (#3612)

Summary:
We've seen some situations fail because flatc_path is an empty string. This seems like a likely culprit, but doesn't hurt either way.

Pull Request resolved: https://github.com/pytorch/executorch/pull/3612

Test Plan:
Ran the following script with `(. /tmp/run.sh)`, which successfully created `/tmp/et-test/executorch/add.pte`.

`/tmp/run.sh`:
```
set -euxo pipefail

conda remove -yn et-test --all
conda create -yn et-test python=3.10
conda activate et-test

mkdir -p /tmp/et-test
cd /tmp/et-test
# Get this PR
git clone -b flatc-empty-path https://github.com/dbort/executorch-1
cd executorch

git submodule sync
git submodule update --init

./install_requirements.sh

cat > /tmp/export_add.py << HERE
import torch
from torch.export import export
from executorch.exir import to_edge

# Start with a PyTorch model that adds two input tensors (matrices)
class Add(torch.nn.Module):
  def __init__(self):
    super(Add, self).__init__()

  def forward(self, x: torch.Tensor, y: torch.Tensor):
      return x + y

# 1. torch.export: Defines the program with the ATen operator set.
aten_dialect = export(Add(), (torch.ones(1), torch.ones(1)))

# 2. to_edge: Make optimizations for Edge devices
edge_program = to_edge(aten_dialect)

# 3. to_executorch: Convert the graph to an ExecuTorch program
executorch_program = edge_program.to_executorch()

# 4. Save the compiled .pte program
with open("add.pte", "wb") as file:
    file.write(executorch_program.buffer)
HERE

python /tmp/export_add.py
echo "Created" *.pte
```

Reviewed By: lucylq

Differential Revision: D57390281

Pulled By: dbort

fbshipit-source-id: 91c507764ef461f1988d7f3c45579120d9f6ed96
D
Dave Bort committed
2b1ed26164ea6295e318e502d8f19dad69b59430
Parent: d345278
Committed by Facebook GitHub Bot <facebook-github-bot@users.noreply.github.com> on 5/15/2024, 9:25:08 PM